唐院《EDA》 课 程 设 计
- 格式:doc
- 大小:452.50 KB
- 文档页数:22
eda课程设计EDA课程设计EDA(Electronic Design Automation)是电子设计自动化的缩写,是指利用计算机技术和软件工具来辅助电子设计的过程。
EDA课程设计是指在电子设计自动化领域中,为学生提供相关的课程内容和实践机会,以培养学生的电子设计能力和创新能力。
EDA课程设计的目的是为了让学生掌握电子设计自动化的基本理论和方法,了解EDA软件工具的使用和应用,培养学生的电子设计能力和创新能力。
在EDA课程设计中,学生需要学习电路设计、PCB 设计、仿真分析、布局布线等相关知识,掌握EDA软件工具的使用和应用,完成电子设计项目的实践任务。
EDA课程设计的内容包括电路设计、PCB设计、仿真分析、布局布线等方面。
在电路设计方面,学生需要学习电路基本理论、电路分析方法、电路设计流程等知识,掌握常用的电路设计软件工具,如Protel、Altium Designer等。
在PCB设计方面,学生需要学习PCB设计的基本原理、PCB设计流程、PCB设计软件工具的使用等知识,掌握常用的PCB设计软件工具,如PADS、Altium Designer等。
在仿真分析方面,学生需要学习仿真分析的基本原理、仿真分析的流程、仿真分析软件工具的使用等知识,掌握常用的仿真分析软件工具,如SPICE、PSpice等。
在布局布线方面,学生需要学习布局布线的基本原理、布局布线的流程、布局布线软件工具的使用等知识,掌握常用的布局布线软件工具,如PADS、Altium Designer等。
EDA课程设计的实践任务包括电子设计项目的设计和实现。
学生需要根据实际需求,设计并实现一个电子产品,包括电路设计、PCB 设计、仿真分析、布局布线等方面。
在电路设计方面,学生需要根据实际需求,设计一个符合要求的电路,包括电路原理图、电路元器件的选型和布局等。
在PCB设计方面,学生需要根据电路设计的要求,设计一个符合要求的PCB板,包括PCB板的布局、布线、元器件的安装等。
电子eda课程设计一、课程目标知识目标:1. 让学生掌握电子设计自动化(EDA)的基本概念,理解EDA工具在电子设计中的应用。
2. 学习并掌握EDA软件的使用方法,包括原理图设计、PCB布线、仿真等基本操作。
3. 了解电子元件的封装和电路板的生产工艺,理解电子产品的设计流程。
技能目标:1. 能够使用EDA软件完成简单的原理图设计和PCB布线。
2. 能够进行基本的电路仿真,分析电路性能。
3. 能够根据设计需求选择合适的电子元件,并进行正确的封装。
情感态度价值观目标:1. 培养学生对电子设计的兴趣,激发创新意识,提高实践能力。
2. 培养学生严谨的科学态度,注重细节,提高问题解决能力。
3. 培养学生团队合作精神,学会分享和交流,提高沟通能力。
课程性质:本课程为实践性较强的电子设计课程,旨在让学生通过实际操作,掌握电子设计的基本技能。
学生特点:学生具备基本的电子知识,对电子产品设计有一定兴趣,但实际操作能力较弱。
教学要求:结合学生特点,注重理论与实践相结合,强化操作训练,提高学生的实际设计能力。
通过课程学习,使学生在知识、技能和情感态度价值观方面得到全面提升。
教学过程中,注重分解课程目标为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 电子设计自动化(EDA)基本概念介绍:包括EDA的定义、发展历程、应用领域等。
- 教材章节:第一章 电子设计自动化概述2. EDA软件安装与使用:学习EDA软件的安装、界面认识、基本操作方法。
- 教材章节:第二章 EDA软件及其使用3. 原理图设计:掌握原理图设计的基本流程、元件调用、连线操作、原理图检查等。
- 教材章节:第三章 原理图设计4. PCB布线设计:学习PCB布线的基本原则、布局、布线、敷铜等操作。
- 教材章节:第四章 PCB布线设计5. 电路仿真:了解仿真软件的使用,进行基本的电路性能分析。
- 教材章节:第五章 电路仿真6. 电子元件封装与生产工艺:学习电子元件的封装类型、选择及电路板的生产工艺。
EDA课程设计报告书设计名称:含异步清零和同步时钟使能的加法计数器专业班级:学号:姓名:设计任务:设计一个含异步清零和同步时钟使能的加法计数器,已达到一下几个实验目的:1、了解加法计数器的工作原理;2、学习计数器的设计、仿真和硬件测试的方法;3、进一步熟悉和掌握VHDL设计技术;4、熟悉仿真时钟设定。
设计功能:本实验要求完成的任务是在时钟信号的作用下,通过使能端和复位信号来完成加法计数器的计数。
实验中有三个输入信号:复位信号reset、使能信号enable、时钟信号clk,还有两路输出信号:计数值、进位信号。
要求每来一个时钟信号,加或减1(sel=‘0’时执行加,sel=‘1’时执行减);计数值为9时再加1,输出进位信号,并且计数值归零;复位信号reset 有效时(高电平有效)计数值清0,使能信号enable有效时(高电平有效)计数器才进行工作否则不进行累加或累减。
而以上实验功能是通过Quartus软件对程序进行编译,并调试出仿真波形,与实验箱进行连接,观察实验现象实现的。
设计流程图:使用QUARTUSII 分配管脚软件编写程序功能仿真下载程序连观察实验现接试验箱象1.实验目的学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
2.实验器材PC机、FPGA实验箱。
3.实验原理实验原理图如下:实验图是一个含计数使能,异步复位和计数值并行预置4位加法计数器。
由实验图所示,图中间是4位锁存器,RST是异步清0信号,高电平有效;clk是锁存信号;cq[3..0]是4位数据输入端。
当en为“1”时,多路选择器将加1器的输出值加载于锁存器的数据端,当en为“0”时,将“0000”加载于锁存器。
4.实验路线(1)实验程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Vhdl1 IS;PORT(clk,rst,en:IN STD_LOGIC;cq:OUT STD_LOGIC_VECTOR (3 DOWNTO 0);cout:OUT STD_LOGIC);END Vhdl1;ARCHITECTURE behave OF Vhdl1 ISBEGINPROCESS(clk,rst,en)VARIABLE cqi: STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINIF rst='1' THEN cqi:=OTHERS=>'0');--计数器异步复位ELSIF clk'EVENT AND clk='1' THEN—检测时钟上升沿IF en='1' THEN—检测是否允许计数(同步使能)IF cqi<9 THEN cqi:=cqi+1;--允许计数,检测是否小于9ELSE cqi:=(OTHERS=>'0');--大于9,计数值清零END IF;END IF;END IF;IF cqi=9 THEN cout<='1';--计数大于9,输出进位信号ELSE cout<='0';END IF;cq<=cqi; --将计数值向端口输出END PROCESS;END behav;在Quartus II对程序进行编辑、编译、综合、适配、仿真。
EDA技术简明教程课程设计EDA(Electronic Design Automation,电子设计自动化),俗称电路设计软件,用于工程师们进行硬件电路图的设计与仿真。
EDA技术拥有非常重要且广泛的应用领域,例如智能手机、计算机、汽车电子、医疗器械等等。
课程目标本课程的主要目标是让学生了解EDA技术的基本原理和使用方法,同时掌握EDA技术在各类电路设计中的应用。
通过系统讲解和实践操作,学生能够基于EDA 软件进行逻辑设计、物理验证、模拟仿真、布局布线等工作。
课程大纲第一周:概述•EDA技术简介•常见EDA软件介绍•新兴EDA工具的发展方向•实验环境搭建第二周:逻辑分析和综合•逻辑设计基础知识•逻辑功能的综合方法•逻辑分析的方法•课程实验一:基于EDA工具的逻辑分析和综合实验第三周:物理验证和仿真•IC芯片设计的物理验证方法•码分复用技术及仿真•FPGA设计的仿真方法•课程实验二:基于EDA工具的物理验证和仿真实验第四周:布局布线•FPGA设计的布局布线方法•IC芯片设计的布局布线方法•PCB设计的布局布线方法•课程实验三:基于EDA工具的布局布线实验第五周:EDA工具在芯片电路设计中的应用•芯片设计流程介绍•芯片设计规划及实现方法•EDA工具在芯片设计中的应用案例•课程实验四:EDA工具在芯片电路设计中的应用实验课程评估方式•每周1次课堂作业,共计4次•每周1次课程实验,共计4次•期末考试参考资料1.《EDA技术研究》,XXX出版社2.《电路设计自动化的理论与实践》,XXX出版社3.《VLSI设计——数字电路设计分卷》,XXX出版社教学团队本课程由XXX教授、XXX副教授和XXX讲师联合授课,他们均来自于电子工程领域,在EDA技术研究和应用方面积累了丰富的经验和实践,具备高水平的教学能力和实验操作能力。
总结通过本课程的学习,学生们不仅可以全面了解EDA技术的基本原理和使用方法,还可以掌握EDA技术在各类电路设计中的应用技巧。
设计题目:抢答器的设计与仿真一.课程设计的目的EDA课程设计是电子信息科学与技术专业开设的一门独立实践环节课程。
通过课程设计使学生具体掌握将理论知识与实际应用相结合的方法,提高分析问题和解决问题的能力,激发学习兴趣、锻炼动手能力和科研能力。
了解CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能。
二.设计方案论证1. 设计原理抢答器原理是根据所要设计的系统功能,将整个系统划分成几个主要模块,再将每个模块细分成几个子模块,直到最底层的小模块容易编程实现为止。
只需对底层元件编程实现,最后将各模块连接起来组成所需的系统。
对于一个抢答器系统,可将其分为五个模块:选手抢答模块、抢答启动模块、加减分模块、显示模块、蜂鸣器控制模块,整体框图如图(1)所示。
图(1)总体框图其中抢答启动模块具有启动抢答及启动定时功能,输出使能信号给选手识别模块,以及抢答剩余时间给显示模块;选手识别模块完成锁存抢答信号的功能,并输出选手号给显示模块;蜂鸣器对抢答成功以及超时鸣声报警;显示模块对输入的数据进行显示。
2. 设计内容沈阳大学(1)设计一智力竞赛抢答器,可同时供8名选手参加比赛。
(2)给节目主持人设置一个控制开关,控制系统清零和抢答开始。
(3)抢答器具有锁存功能和显示功能。
抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示选手编号,同时扬声器响,禁止其他选手抢答。
(4)抢答器具有抢答定时功能,时间由主持人确定。
(5)参赛选手在设定的时间内抢答有效,定时器停止工作。
(6)如果定时时间到,无人抢答,本次抢答无效,系统报警,并封锁输入电路,禁止超时抢答,定时器显示00 。
(7)为每组设计一个计分电路,0~999分,可加分,也可减分。
3. 设计整体原理图图(2)设计原理图三.设计结果与分析1、抢答启动模块启动模块除了有启动的功能外,还有启动定时的功能。
EDA课程设计报告题目:(一)设计一个自动计数并译码显示电子工程系2013年5月一、设计要求1.计数器的计数范围为0~999;计数值显示在扫描型4位(七段)数码管上;2.计数器带复位端Rst,从0开始计数。
3.各模块要求用VHDL语言描述。
二、设计思路计数范围为0~999的计数器并在七段显示数码管上显示出来加法计数器的动作,每次时钟脉冲信号CLK的上升沿到来时,计数器会将计数值加1。
作为计数器还应该由一个使能端EN和清零端CLR:当使能端EN为高电平“1”时,计数器开始计数;当使能端EN为低电平“0”时,计数器停止计数;清零端CLR一般由同步清零和异步清零两种,当清零端CLR为高电平“1”时有效;反之无效。
三、成员分工四、源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity bcdcounter isport( clk, clk1,clr,en : in std_logic; --en:使能端,clr:清零端clk:上升沿计数Co : out std_logic; --进位标志choice : out std_logic_vector( 2 downto 0); --用于选择数码管data : out std_logic_vector(6 downto 0) --7段数码管);end bcdcounter;architecture rtl of bcdcounter issignal q : std_logic_vector(3 downto 0);signal q1 : std_logic_vector(3 downto 0); --个位计数器signal q2 : std_logic_vector(3 downto 0); --十位计数器signal q3 : std_logic_vector(3 downto 0); --百位计数器signal count : std_logic_vector(2 downto 0);beginCo<='1' when (q3= "1001" and q2= "1001" and q1= "1001") else '0'; process (clk, clr, en)beginif clr = '1' then -- clk上升沿到来时计数q1<= "0000"; q2<= "0000"; q3<= "0000";elsif (clk'event and clk = '1') thenif en= '1' thenif(q3= "1001" and q2= "1001" and q1= "1001") thenq1<= "0000"; q2<= "0000"; q3<= "0000";--q1,q2,q3都计数到9,q1,q2,q3都清零elsif (q1="1001" and q2="1001" )thenq1<="0000"; q2<="0000";q3<=q3+1;--q1,q2都计数到9,q1,q2清零,q3加1elsif q1="1001"thenq1<="0000";q2<=q2+1; --q1计数到9,q1清零,q2加1else q1<=q1+1;end if;end if;end if;end process;------------------3进制计数器,用于选择数码管process (clk1,count)beginif (clk1'event and (clk1='1'))thenif (count>"001")thencount<="000";elsecount<=count+1;end if;end if;end process;----------------数码管的选择choice<="001"when count="000"else"010"when count="001"else"100";q<=q1 when count="000"elseq2 when count="001"elseq3;---------------数码管的显示with q selectdata <= "1111110" when "0000", --数码管显示0 "0110000" when "0001", --数码管显示1"1101101" when "0010", --数码管显示2"1111001" when "0011", --数码管显示3"0110011" when "0100", --数码管显示4"1011011" when "0101", --数码管显示5"1011111" when "0110", --数码管显示6"1110000" when "0111", --数码管显示7"1111111" when "1000", --数码管显示8"1111011" when "1001", --数码管显示9"0000000" when others; --数码管不显示end rtl;五、仿真结果六、收获体会课程设计是课程知识综合应用的实践训练,通过这次课程设计,锻炼了我们的思维能力。
eda课程设计 电子密码锁一、课程目标知识目标:1. 学生能够理解电子密码锁的基本原理,掌握其电路组成及功能。
2. 学生能够了解数字电路的基本知识,包括逻辑门、触发器等,并运用这些知识分析电子密码锁的工作原理。
3. 学生能够掌握二进制与十进制的转换方法,并应用于电子密码锁的设计。
技能目标:1. 学生能够运用所学知识设计并搭建简单的电子密码锁电路。
2. 学生能够通过实际操作,调试并优化电子密码锁的性能。
3. 学生能够运用EDA软件(如Multisim、Protel等)进行电子密码锁电路的设计、仿真和测试。
情感态度价值观目标:1. 培养学生动手实践、解决问题的能力,增强自信心和成就感。
2. 培养学生团队协作精神,学会沟通与分享,提高合作能力。
3. 增强学生对电子科技的兴趣和热爱,激发创新意识和潜能。
课程性质分析:本课程为电子技术实践课程,注重理论联系实际,强调学生的动手能力和创新能力。
学生特点分析:学生处于高中阶段,具有一定的电子基础和逻辑思维能力,对实践操作充满兴趣。
教学要求:结合课程性质和学生特点,将课程目标分解为具体的学习成果,以项目为导向,引导学生通过实践探索,完成电子密码锁的设计与制作。
在教学过程中,注重启发式教学,鼓励学生提问、思考、解决问题,培养其创新能力和实际操作能力。
后续教学设计和评估将以此为基础,确保学生达到预定的学习成果。
二、教学内容1. 理论知识:- 数字电路基础知识:逻辑门、触发器、计数器等;- 电子密码锁原理:锁体结构、电路设计、密码设置与识别;- 二进制与十进制转换方法及其应用。
2. 实践操作:- 使用EDA软件(如Multisim、Protel)进行电子密码锁电路设计;- 搭建电子密码锁电路,进行实际操作和调试;- 分析并优化电子密码锁性能,提高其安全性。
3. 教学大纲:- 第一阶段:数字电路基础知识学习,占总课时1/3;- 第二阶段:电子密码锁原理学习,占总课时1/3;- 第三阶段:实践操作,包括EDA软件使用、电路搭建、调试与优化,占总课时1/3。
eda课程设计报告本篇课程设计报告旨在介绍我所参加的EDA课程设计项目。
在这个项目中,我们学习了EDA(Electronic Design Automation)的基本概念和工具,并且设计了一个基于RTL(Register Transfer Level)的数字电路。
以下是具体内容:一、课程设计背景EDA是指用计算机辅助设计来协助电子设计工程师进行电子系统的设计、验证和实现。
EDA已经成为了电子工程领域中不可或缺的工具。
本次课程设计旨在让我们熟悉EDA工具的使用,理解数字电路设计和验证的基本原理。
二、课程设计内容我们采用了Verilog语言来描述数字电路,使用Xilinx Vivado 作为开发工具。
我们首先学习了Verilog的基本语法和编写方法,然后根据老师提供的案例,设计了一个基于RTL的数字电路——多功能计数器。
多功能计数器由三个模块组成:计数模块、比较模块和控制模块。
其中计数模块负责计数,比较模块负责比较计数器的值和一个给定的阈值,控制模块负责根据比较结果控制计数器的计数和清零。
我们使用Xilinx Vivado中的IP核生成器来构建这些模块,并将它们组合成一个完整的数字电路。
三、课程设计效果通过本次课程设计,我们掌握了EDA工具的基本使用和数字电路设计的基本原理。
我们通过自己的实践,加深了对Verilog语言的理解,并且学会了如何使用Xilinx Vivado来开发数字电路。
最终,我们成功实现了一个多功能计数器,并且对其进行了测试和验证,达到了预期效果。
四、总结EDA课程设计为我们打下了坚实的数字电路设计基础,使我们更加熟练地使用EDA工具,同时也为我们今后的学习和工作奠定了基础。
我们将继续探索EDA工具的应用,深入了解数字电路设计的原理和方法,为电子工程领域做出更多的贡献。
《电子设计自动化 EDA》课程设计报告书学号:08057102班级:自动化 081姓名:陈婷指导教师:刘伟目录一、设计思想 (2)二、设计步骤 (3)三、调试过程 (8)四、结果剖析 (10)五、心得领会 (11)六、参照文件 (11)一、设计思想(一)、设计要求1、拥有以 24 小时制时、分、秒记时、显示功能。
2、拥有整点报时功能,整点报时的同时LED 花式显示。
3、拥有消零,调理小时,分钟功能。
4、设计精度要求为1s。
( 二) 、系统功能描绘1.、系统输入:调时、调分,清零信号,分别用按键开关 SETHOUR、SETMIN、RESET控制;计数时钟信号 CLK采纳 2HZ时钟源,扫描时钟信号 CLKDSP采纳 32HZ时钟源或更高;2、系统输出:8 位八段共阴极数码管显示输出;LED花式显示输出;3、系统功能详尽描绘:计时:正常工作状态下,每天按24 小时计时制,蜂鸣器无声,逢整点报时。
显示:要求采纳扫描显示方式驱动8 位 8 段数码管显示。
整点报时:蜂鸣器在“ 51”、“ 53”、“ 55”、“57”、“59”秒发音,结束时为整点;校时:在计时状态下,按下按键 SETMIN设定分钟,按下按键 SETHOUR设定小时。
(三)设计思路1、分别写出六进制、十进制、二十四进制、清零、设置时分、 LED 译码部分,在主体部分用元件例化语句计时,清零设置时分、 LED 译码,再加上扫描模块2、将六进制、十进制、二十四进制、清零、设置时分、 LED 译码、扫描模块分模块写在一个主中(四)系统电路构造框图二、设计步骤(一)各种进制的计时实时钟控制模块程序1、6 进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter6 isport( clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout: out std_logic_vector(3 downto 0);co: out std_logic);end counter6;architecture art2 of counter6 issignal count:std_logic_vector(3 downto 0);beginprocess(clk)beginif (clk'event and clk='1')thenif(reset='0')then count<="0000";elsif(set='1')then count<=ain;elsif (count="0101")thencount<="0000";co<='1';else count<=count+1;co<='0';end if;end if;end process;aout<=count;end art2;2、10 进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter10 isport(clk,reset,set: in std_logic;ain:std_logic_vector(3 downto 0);aout:out std_logic_vector(3 downto 0);co:out std_logic);end counter10;architecture art1 of counter10 issignal count:std_logic_vector(3 downto 0); beginprocess(clk)beginif(clk'event and clk='1') thenif(reset='0')then count<="0000";elsif(set='1')then count<=ain;elsif(count="1001") thencount<="0000";co<='1';else count<=count+1;co<='0';end if;end if;end process;aout<=count;end art1;3、24 进制ibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter24 isport( clk,reset,set: in std_logic;ainh:in std_logic_vector(3 downto 0);ainl:in std_logic_vector(3 downto 0);aout: out std_logic_vector(7 downto 0));end counter24;architecture art3 of counter24 issignal count:std_logic_vector(7 downto 0);beginprocess(clk)beginif(clk'event and clk='1') thenif(reset='0')then count<="00000000";elsif(set='1')then count(7 downto 4)<=ainh;count(3 downto 0)<=ainl;elsif(count(7 downto 4)<"0011" ) thenif(count(7 downto 4)="0010" and count(3 downto 0)="0011") then count<="00000000";elsif(count(3 downto 0)="1001") thencount(3 downto 0)<="0000";count(7 downto 4)<=count(7 downto 4)+1;else count(3 downto 0)<=count(3 downto 0)+1;end if;end if;end if;--end if;end process;aout<=count;end art3;(二)系统整体程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk,b1,clks: in std_logic;reset: in std_logic;setmin,sethour: in std_logic;minutell,minutehh,hourll,hourhh,b2:in std_logic_vector(3 downto 0); secondl,secondh:out std_logic_vector(3 downto 0);--second0,second2:out std_logic_vector(6 downto 0);minutel,minuteh:out std_logic_vector(3 downto 0);--minute0,minute2:out std_logic_vector(6 downto 0);hourl,hourh:out std_logic_vector(3 downto 0);--hour0,hour2,dout:out std_logic_vector(6 downto 0);dout:out std_logic_vector(6 downto 0);s:out std_logic_vector(2 downto 0);singing,light: out std_logic);end clock;architecture art of clock iscomponent counter10 isport(clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout:out std_logic_vector(3 downto 0);co:out std_logic);end component;component counter6 isport(clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout:out std_logic_vector(3 downto 0);co:out std_logic);end component;component counter24 isport(clk,reset,set: in std_logic;ainh,ainl:std_logic_vector(3 downto 0);aout:out std_logic_vector(7 downto 0));end component;component led7 isport(ain: in std_logic_vector(3 downto 0);aout:out std_logic_vector(6 downto 0));end component;signal cs0,cs1,cm0,cm1:std_logic;signal s0,s1,m0,m1,h0,h1,cout:std_logic_vector(3 downto 0);signal h:std_logic_vector(7 downto 0);signal count:std_logic_vector(2 downto 0);beginh0<=h(3 downto 0);h1<=h(7 downto 4);u1:counter10 port map(clk=>clk,reset=>reset,set=>b1,ain=>b2,aout=>s0,co=>cs0);u2:counter6 port map(clk=>cs0,reset=>reset,set=>b1,ain=>b2,aout=>s1,co=>cs1);u3:counter10port map(clk=>cs1,reset=>reset,set=>setmin,ain=>minutell,aout=>m0,co=>cm0);u4:counter6port map(clk=>cm0,reset=>reset,set=>setmin,ain=>minutehh,aout=>m1,co=>cm1);u5:counter24port map(clk=>cm1,reset=>reset,set=>sethour,ainl=>hourll,ainh=>hourhh,aout=>h);u6:led7 port map(ain=>cout,aout=>dout);secondl<=s0;secondh<=s1;minutel<=m0;minuteh<=m1;hourl<=h0;hourh<=h1;process(m1,m0,s1,s0)beginif(m1="0101" and m0="1001" and s1="0101" and s0="1001")then singing<='1';light<='1';else singing<='0';light<='0';end if;end process;process(clks)beginif(clks'event and clks='1') thenif (count="101") thencount<="000";else count<=count+1;end if;s<=count;CASE count ISwhen"000"=> cout<=s0;when"001"=> cout<=s1;when"010"=> cout<=m0;s<="010";when"011"=> cout<=m1 ;when"100"=> cout<=h0;when"101"=> cout<=h1;when others=> cout<="0000";end case;end if;end process;end art;三、调试过程(一)仿真波形1、6 进制程序仿真波形2、10 进制程仿真波形3、24 进制程序仿真波形4、系统程序仿真波形(二)剖析问题 1:u6:led7 port map(ain=>secondl,aout=>second0);u7:led7 port map(ain=>secondh,aout=>second1);u8:led7 port map(ain=>minutel,aout=>minute0);u9:led7 port map(ain=>minuteh,aout=>minute1);u10:led7 port map(ain=>hourl,aout=>hour0);u11:led7 port map(ain=>hourh,aout=>hour1);问题剖析:元件例化是并行语句,按此段代码LDE 并行显示,每一个数码管都需要八个端口,这样就需要八排插口,而试验箱只有一排端口。
唐 山 学 院 《EDA》 课 程 设 计
题 目 简易数字频率计 系 (部) 信息工程系 班 级 12电信1班 姓 名 李加 学 号 4120215114 指导教师 马军爽 王超
2015 年 6 月 15 日至 6 月 26 日 共 2 周 2015 年 6 月 26 日
目 录 1 引言 ............................................................................................................................ 1 2 应用工具介绍 ............................................................................................................ 2 2.1 EDA技术介绍 ................................................................................................. 2 2.2 VHDL语言介绍............................................................................................... 3 2.3界面介绍 ........................................................................................................... 4 3 简易数字频率计设计原理 ........................................................................................ 6 3.1基本原理 ........................................................................................................... 6 3.2原理框图 ........................................................................................................... 6 4 各模块程序及仿真 .................................................................................................... 7 4.1测频控制发生器control模块的设计 ............................................................. 7 4.2待测信号计数器counter模块的设计 ............................................................. 8 4.3锁存器regist模块的设计 .............................................................................. 10 4.4译码器模块的设计 ......................................................................................... 12 4.5原件例化的设计 ............................................................................................. 14 4.6引脚锁定 ......................................................................................................... 15 5 心得体会 .................................................................................................................. 17 参考文献 ...................................................................................................................... 18 附 录 .......................................................................................................................... 19 课程设计说明书
1 1 引言 随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此频率计常受到人们的青睐。众所周知,频率信号易于传输,抗干扰性强,可以获得较好的测量精度。因此,频率检测是电子测量领域最基本的测量之一。 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号以及其他各种单位时间变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。 本设计基于我们对《EDA技术》、《数字电子技术》的基础知识的理解,用VHDL硬件描述语言进行模块电路的设计,用元件例化语句写出频率计的顶层文件,要求我们设计一个四位十进制的简易数字频率计,对1HZ-10MHZ的方波信号进行测量,测量的方波频率值要在4位数码管上进行显示,根据不同的待测方波信号,频率计分为4个量程进行测量,四个量程分别为乘1,乘10,乘100,乘1000量程,要有一个整体复位控制,并且当量程选择不恰当或者超出10MHZ时要有错误报告。 课程设计说明书
2 2 应用工具介绍 2.1 EDA技术介绍 EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计。 EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来。EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。 在今天,EDA技术已经成为电子设计的普遍工具,无论设计芯片还是设计系统,没有EDA工具的支持,都是难以完成的。EDA工具已经成为设计师必不可少的武器,起着越来越重要的作用。从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在已涉及到各行各业。EDA水平不断提高,设计工具趋于完美的地步。 课程设计说明书 3 2.2 VHDL语言介绍 电子设计自动化(EDA)的关键技术之一是要求用形式化方法来描述数字系统的硬件电路。VHDL 硬件描述语言在电子设计自动化中扮演着重要的角色,他是EDA 技术研究的重点之一。 VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。但是,由于它在一定程度上满足了当时的设计需求,于是他在1987年成为ANSI/IEEE的标准(IEEE STD 1076-1987)。1993年更进一步修订,变得更加完备,成为ANSI/IEEE的ANSI/IEEE STD 1076-1993标准。目前,大多数的CAD厂商出品的EDA软件都兼容了这种标准。 VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Descriptiong Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。目前,它在中国的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。 硬件描述语言是EDA 技术的重要组成部分,VHDL 是作为电子设计主流硬件描述语言,VHDL(Very High Speed Integrated Circuit Hardware Description Language)于1983 年由美国国防部发起创建,由IEEE进一步发展并在1987年作为IEEE标准10760发布。因此,VHDL成为硬件描述语言的业界标准之一。。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性,使用VHDL语言,可以就系统的总体要求出发,自上而下地将设计内容细化,最后完成系统硬件的整体设计。一个完整的VHDL程序包括以下几个基本组成部分:实体(Entity),结构体(Architecture),程序包(Package),库(Library)。其中,实体是一个VHDL程序的基本单元,由实体说明和结构体两部分组成,实体说明用于描述设计系统的外部接口信号;结构体用于描述系统的行为,系统数据的流程或系统组织结构形式。程序包存放各设计模块能共享的数据类型,常数,子程序等。库用于存放已编译的实体,机构体,程序包及配置。 VHDL 语言的编译环境有不同的版本,我们应用的是Altera 公司的Maxplus 软件,它的操作顺序如下:使用TEXTEDITOR 编写VHDL 程序使用COMPILER 编译VHDL 程序;使用WAVE2FORMEDITOR,SIMULAROT 仿真实验;使用TIMINGANALTZER 进行芯片的时序分析;用FLOORPLANEDITOR 锁定芯片管脚位置;使用PROGRAMMER 将编译好的VHDL 程序下载到芯片中。