EDA技术课程设计报告
eda课程设计5篇[修改版]
第一篇:eda课程设计数字钟一、设计要求设计一个数字钟,具体要求如下:1、具有时、分、秒计数显示功能,以24小时循环计时。
2、具有清零、校时、校分功能。
3、具有整点蜂鸣器报时以及LED花样显示功能。
二、设计方案根据设计要求,数字钟的结构如图8-3所示,包括:时hour、分minute、秒second计数模块,显示控制模块sel_clock,七段译码模块deled,报时模块alert。
三、VHDL程序library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; useIEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM;--use UNISIM.VComponents.all;entityddz is port(rst,clk: in std_logic; hour_h: out std_logic_vector( 6 downto 0); hour_l: outstd_logic_vector( 6 downto 0); min_h: out std_logic_vector( 6 downto 0);min_l: out std_logic_vector( 6 downto 0);sec_h: out std_logic_vector( 6 downto 0);sec_l: out std_logic_vector( 6 downto 0)); endddz;architecture Behavioral of ddz is signalcnt: std_logic_vector(15 downto 0); signalsec_h_in: std_logic_vector( 3 downto 0); signalsec_l_in: std_logic_vector( 3 downto 0); signalmin_h_in: std_logic_vector( 3 downto 0); signalmin_l_in: std_logic_vector( 3 downto 0); signalhour_h_in: std_logic_vector(3 downto 0); signalhour_l_in: std_logic_vector(3 downto 0);signalclk_s,clk_m,clk_h: std_logic; begin process(rst,clk) begin if rst='0' then sec_h_in'0');sec_l_in'0');clk_msec_l_inifsec_h_in=5 thensec_h_inclk_melsesec_h_inclk_mend if; else sec_l_inclk_mend if; end if; end process;process(rst,clk_m) begin if rst='0' then-- min_h_in'0');min_l_in'0'); -- clk_hmin_l_inmin_h_inclk_mend if; else min_l_inend if; end if; end process;process(rst,clk_n) begin if rst='0' then-- hour_h_in'0');hour_l_in'0'); -- clk_hhour_l_inhour_h_inclk_nend if; else hour_l_inend if; end if; end process;process(sec_l_in) begin casesec_l_in iswhen "0000" =>sec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lprocess(sec_h_in) begin casesec_h_in iswhen "0000" =>sec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hprocess(min_l_in) begin casemin_l_in iswhen "0000" =>min_lmin_lmin_lwhen "0011" =>min_lmin_lmin_lmin_lmin_lmin_lmin_lmin_lprocess(min_h_in) begin casemin_h_in iswhen "0000" =>min_hmin _h min _hmin _hmin _h min _hmin _hmin _hmin _hmin _hmin _hend case; end process;process(hour_l_in) begin casehour_l_in iswhen "0000" =>hour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lprocess(hour_h_in) begin casehour_h_in iswhen "0000" =>hour_hhour_hhour_hhour_h hour _h hour _h hour _h hour _h hour _hhour_h hour _h四、VHDL仿真结果五、课程设计心得通过这次课程设计,有效得巩固了课本所学的知识,而且通过上机仿真不断发现问题并及时改正,加深了我们对该课程设计的印象。
EDA课程实验设计报告
《EDA课程实验设计报告》洗衣机自动控制器设计一实验要求:1、由一个按键控制洗衣机的启动、暂停。
2、洗衣机洗涤一定时间后,能自动停止,由一个LED灯闪烁提示,并发出报警提示。
3、洗涤时间能用数码管显示,暂停时时间停止,暂停后时间在停止的时间基础上继续计时。
4、用至少四个LED指示灯的流动表示洗衣机的正转和反转。
即当正转20秒时,四个指示灯从右向左循环移动;反转20秒时,四个指示灯从右向左循环移动。
5、暂停10秒时,四个指示灯闪烁来表示电机停止转动。
二.设计总体思路,基本原理1.设计总体思路从课程设计要求来看,要求实现电机的正传、反转、暂停,用四个LED灯的状态来表示,当显示时间前20秒正传、暂停10秒、反转20秒、再暂停10秒,如此一来,周期恰好是60秒,理所当然的分钟计数器、秒计数器是一定要有的。
接下来脉冲是一定的了,但是有分钟计数器和秒钟计数器还要考虑是不是要60分频器,就我们所学过的来说实现循环有移位寄存器;还有个问题,当洗涤时间到了,报警还要一个报警电路,根据要求,报警的蜂鸣器不可以长时间的叫,要有个合理的时间,我们可以用一个单稳态电路来实现。
方案为:直接从数值上进行提取信号来控制一个可以实现循环的74LS194来实现。
2.基本原理首先,从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。
当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零。
三.单元电路设计1.一百进制分计数器和六十秒计数器的设计(1)分、秒计数器的设计分、秒计数器我们都用74192片,74192上升沿触发,由UP,DOWN两管脚控制加减计数,有异步置数端LOAR和异步复位端CLR,BO’和CO’分别输出高电平表示加进位和减进位。
由于74192没有保持脚,故需要外围电路实现保持功能。
EDA-课程设计报告书
EDA-课程设计报告书《电子设计自动化EDA》课程设计报告书学号:08057102 班级:自动化081 姓名:陈婷指导教师:刘伟目录一、设计思想(一)、设计要求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") thencount<="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:instd_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;signals0,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,aou t=>s0,co=>cs0);u2:counter6 port map(clk=>cs0,reset=>reset,set=>b1,ain=>b2,aout=>s1,co=>cs1);u3:counter10portmap(clk=>cs1,reset=>reset,set=>setmin,ain=>mi nutell,aout=>m0,co=>cm0);u4:counter6portmap(clk=>cm0,reset=>reset,set=>setmin,ain=> minutehh,aout=>m1,co=>cm1);u5:counter24portmap(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;minute h<=m1;hourl<=h0;hourh<=h1;process(m1,m0,s1,s0)beginif(m1="0101" and m0="1001" and s1="0101" and s0="1001") thensinging<='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课程设计报告
课程设计报告(理工类)课程名称: EDA技术专业班级:电子信息工程101 学生学号:学生姓名:所属院部:指导教师:20 11 ——20 12 学年第 2 学期设计项目名称:数字秒表设计实验地点:同组学生姓名:设计成绩:批改教师:批改时间:1.课程设计目的2.课程设计的基本要求3.课程设计类型二、仪器和设备三、设计过程1.设计内容和要求2.设计方法和开发步骤3.设计思路4.设计难点四、设计结果与分析1.思路问题以及测试结果失败分析2.程序简要说明1.课程设计目的1)根据设计要求,完成对数字秒表的设计。
2)进一步加强对MaxplusⅡ软件的应用和对VHDL语言的使用。
2.课程设计的基本要求1)提供的时钟信号频率为100Hz,实现计数从0.01s到0.1s,再到1s,10s,1min,10min,1h。
3.课程设计类型1)综合应用设计二、仪器和设备1.计算机,1台三、设计过程1.设计内容和要求1)用MaxplusⅡ软件编程实现六进制计数器、十进制计数器、分频器(3MHz——100MHz)模块。
2)编译各个模块,连接各模块,最终实现一小时的秒表计数功能。
2.设计方法和开发步骤1)编程实现十进制计数器十进制计数器源代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity cnt10 isport(clk: in std_logic;clr: in std_logic;ena: in std_logic;cq: out integer range 0 to 15;carry_out: out std_logic);end entity cnt10;architecture art of cnt10 issignal cqi: integer range 0 to 15; beginprocess(clk,clr,ena)isbeginif clr='1'then cqi<=0;elsif clk'event and clk='1'then if ena='1'thenif cqi<9 then cqi<=cqi+1; else cqi<=0;end if;end if;end if;end process;process(cqi)isbeginif cqi=9 then carry_out<='1';else carry_out<='0';end if;end process;cq<=cqi;end architecture art;2)编程实现六进制计数器六进制计数器源代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity cnt6 isport(clk: in std_logic;clr: in std_logic;ena: in std_logic;cq: out std_logic_vector(3 downto 0);carry_out: out std_logic);end entity cnt6;architecture art of cnt6 issignal cqi: std_logic_vector(3 downto 0);beginprocess(clk,clr,ena)isbeginif clr='1'then cqi<="0000";elsif clk'event and clk='1'thenif ena='1'thenif cqi="0101"then cqi<="0000";else cqi<=cqi+'1';end if;end if;end if;end process;process(cqi)isbeginif cqi="0000"then carry_out<='1';else carry_out<='0';end if;end process;cq<=cqi;end architecture art;3)编程实现分频器模块分频器源代码(3MHz—100Hz)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity clkgen isport(clk: in std_logic;newclk: out std_logic);end entity clkgen;architecture art of clkgen issignal cnter:integer range 0 to 10#29999#; beginprocess(clk) isbeginif clk'event and clk='1' thenif cnter=29999 then cnter<=0;else cnter<=cnter+1;end if;end if;end process;process(cnter) isbeginif cnter=29999 then newclk<='1';else newclk<='0';end if;end process;end architecture art;3.设计思路因为实验硬件仿真提供3MHz的时钟信号,所以要用分频器实现3MHz 到100Hz的时钟信号的转换。
EDA课程设计报告
EDA课程设计报告•相关推荐EDA课程设计报告在我们平凡的日常里,报告的使用成为日常生活的常态,报告中涉及到专业性术语要解释清楚。
那么报告应该怎么写才合适呢?以下是小编为大家整理的EDA课程设计报告,希望对大家有所帮助。
EDA课程设计报告1实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?51pro。
net单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel 99 se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?51pro。
net单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。
(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。
(6)制板。
首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。
(7)焊接。
将所给元器件根据原理图一一焊至pcb板相应位置。
(8)调试。
先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。
EDA课设设计报告
目录1、概述 (4)2、设计要求 (4)3、设计内容 (5)4、方案设计与原理分析 (6)5、锁存译码设计 (9)6、报警信号发生器 (16)7、密码锁控制电路仿真结果及下载分析(18)8、心得体会 (22)电子技术综合任务书姓名学号学院班级题目简易14位数字密码锁控制电路设计设计任务1、基本要求(1)、14位数字密码分成高7位(DH6….D H0)和低7位(DL6….D L0),用数字逻辑开关预置,输出信号out为1表示开锁,否则关闭。
;(2)、14位数字密码分时操作,先预置高7位,然后再置入低7位,(3)要求电路工作可靠,保密性强,开锁出错立即报警,(4)、利用MAXPLUS2软件进行设计、编译、并在FPGA芯片上实现;(5)、14位密码自己设定。
时间进度总体时间为1周;星期一上午:讲解;星期一下午:理解电路原理;星期二下午:编辑源程序设计电路;星期四下午:验收电路图,检验程序是否正确;星期五之前:上交课程设计报告;主要参考文献【1】刘爱荣、王振成。
EDA技术与CPLD︱FPGA开发应用简明教程。
北京:清华大学出版社;【2】刘吕华。
数字逻辑EDA设计与实践。
北京:国防工业出版1、概述现在EDA技术应用广泛,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA 技术已在各大公司、科研和教学部门广泛使用。
在产品设计与制造方面,EDA 技术可实现前期的计算机仿真、系统级模拟及测试环境的仿真、PCB的制作、电路板的焊接、ASIC的设计等。
EDA是随着集成电路和计算机技术的飞速发展应运而生的一种高级、快速、有效的电子设计自动化工具。
它是为解决自动控制系统设计而提出的,从七十年代经历了计算机辅助设计CAD,计算机辅助工程CAE,电子系统设计自动化ESDA三个阶段。
前两个阶段的EDA产品都只是个别或部分的解决了电子产品设计中的工程问题;第三代EDA工具根据工程设计中的瓶颈和矛盾对设计数据库实现了统一管理,并提供了并行设计环境概念,提供了独立与工艺和厂家的系统级的设计工具。
eda课程设计报告
eda课程设计报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用EDA软件进行电路设计与仿真,理解并掌握数字电路的设计原理。
3. 学生了解并掌握基础的硬件描述语言(如VHDL/Verilog),能完成简单的数字系统设计。
技能目标:1. 学生通过EDA软件的操作,培养电子电路设计、仿真与验证的实际操作能力。
2. 学生通过小组合作完成设计项目,提高团队协作与沟通技巧。
3. 学生能够运用所学知识解决实际问题,具备一定的创新意识和动手能力。
情感态度价值观目标:1. 学生在EDA课程学习中,培养对电子科学技术的兴趣和探究精神。
2. 学生通过课程实践,增强自信心和成就感,激发进一步学习的动力。
3. 学生在学习过程中,树立正确的工程伦理观念,认识到技术发展对社会的责任和影响。
课程性质:本课程为电子信息工程及相关专业高年级学生的专业核心课程,旨在通过理论与实践相结合的教学,提高学生的电子设计能力。
学生特点:学生已具备一定的电子技术基础,具有较强的学习能力和实践欲望,对新技术和新工具充满好奇心。
教学要求:结合学生特点,注重培养实际操作能力,鼓励学生创新思维,提高解决实际问题的能力。
通过课程目标分解,确保学生在知识、技能和情感态度价值观方面的全面成长。
后续教学设计和评估将以此为基础,关注学生的学习成果。
二、教学内容根据课程目标,教学内容分为以下三个模块:1. EDA基本概念与工具使用- 教材章节:第一章 EDA技术概述,第二章 EDA工具简介- 内容列举:EDA发展历程,常用EDA软件介绍,软件安装与配置,基本操作流程。
2. 数字电路设计与仿真- 教材章节:第三章 数字电路设计基础,第四章 仿真技术- 内容列举:数字电路设计原理,EDA软件电路设计流程,仿真参数设置,波形分析与验证。
3. 硬件描述语言与数字系统设计- 教材章节:第五章 硬件描述语言,第六章 数字系统设计实例- 内容列举:硬件描述语言基础,VHDL/Verilog语法要点,简单数字系统设计方法,设计实例分析与实操。
电子行业EDA课程设计报告
电子行业EDA课程设计报告1. 引言本文档是电子行业EDA课程的设计报告,旨在介绍课程的设计目标、内容、实施过程以及所取得的成果。
EDA(Electronics Design Automation)是指电子设计自动化,是电子行业中一种重要的设计和开发方法。
本课程旨在培养学生掌握EDA的基本概念、流程和工具,从而提高他们在电子行业中的设计能力和竞争力。
2. 设计目标本课程的设计目标如下:1.培养学生掌握EDA的基本概念和原理。
2.培养学生熟练掌握EDA工具的使用和应用。
3.培养学生具备独立进行EDA项目设计和开发的能力。
4.提高学生的团队合作和沟通能力。
3. 课程内容本课程的内容主要包括以下几个方面:3.1 EDA基础知识在本节课程中,学生将学习EDA的基本概念和原理,包括电子设计流程、硬件描述语言、电路仿真和验证等方面的知识。
3.2 EDA工具的使用本节课程将介绍常用的EDA工具,包括电路设计工具、电路仿真工具和电路布局工具等。
学生将学习如何使用这些工具进行电路设计、仿真和验证。
3.3 EDA项目设计与开发在本节课程中,学生将进行一个EDA项目的设计与开发实践。
学生将根据给定的项目需求,使用所学的EDA工具进行电路设计、仿真和验证,并最终提交一个完整的EDA项目报告。
3.4 团队合作与项目管理本节课程将讲解团队合作和项目管理的基本原理和方法,包括任务分配、进度管理和沟通协作等方面的内容。
学生将通过分组合作,在完成EDA项目的过程中提高团队合作和沟通能力。
4. 实施过程本课程的实施过程主要包括以下几个阶段:4.1 阶段一:知识讲解在此阶段,教师将讲解EDA的基本概念、流程和工具使用方法。
学生将通过课堂听讲和课后阅读相关资料,对EDA的基础知识进行学习和理解。
4.2 阶段二:工具练习在此阶段,学生将通过实际操作,熟悉常用的EDA工具的使用方法。
教师将提供实验环境和相关实验指导,学生将利用课余时间进行工具的练习和实践。
eda课程设计时间报告
eda课程设计时间报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用EDA软件完成基本的电路设计,如数字电路、模拟电路等。
3. 学生了解并掌握电路仿真、波形分析等技能。
技能目标:1. 学生能独立使用EDA工具进行电路设计和仿真。
2. 学生具备分析电路原理和优化电路设计的能力。
3. 学生能够通过团队合作,共同完成一个综合性的电路设计项目。
情感态度价值观目标:1. 学生培养对电子工程的兴趣,激发创新意识和探索精神。
2. 学生树立正确的工程观念,注重实践操作和工程应用。
3. 学生在团队协作中学会沟通、分享和承担责任,培养合作精神。
课程性质:本课程为实践性较强的课程,结合理论教学和实际操作,培养学生运用EDA工具进行电路设计和仿真的能力。
学生特点:本年级学生具备一定的电子基础知识,具有较强的学习能力和动手能力,对新鲜事物充满好奇心。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,充分调动学生的主观能动性,培养其创新意识和实践能力。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容本课程教学内容主要包括以下三个方面:1. EDA基本概念与工具使用- 了解EDA的发展历程、基本概念及其在电子工程设计中的应用。
- 学习并掌握主流EDA软件(如Multisim、Protel等)的基本操作和使用方法。
2. 电路设计与仿真- 学习数字电路、模拟电路的基本原理和设计方法。
- 利用EDA软件进行电路设计与仿真,分析电路性能,优化设计方案。
教学大纲:- 数字电路设计:组合逻辑电路、时序逻辑电路设计。
- 模拟电路设计:放大器、滤波器等电路设计。
- 电路仿真:仿真参数设置、波形分析、性能评估。
3. 综合性项目实践- 学生分组进行项目实践,运用所学知识完成一个具有实际意义的电路设计项目。
- 项目过程中,培养学生的团队协作、沟通能力及解决问题的能力。
eda课程设计报告速度表设计
eda课程设计报告速度表设计一、课程目标知识目标:1. 学生能理解速度表的基本原理和设计理念,掌握速度的计算公式。
2. 学生能了解并运用电子设计自动化(EDA)软件进行速度表电路的设计与仿真。
3. 学生掌握速度表在实际应用中的相关技术参数和性能指标。
技能目标:1. 学生能够运用EDA软件进行电路图绘制,具备基本的电路设计能力。
2. 学生能够通过小组合作,进行速度表的设计、搭建与调试,培养实际操作能力。
3. 学生能够运用所学知识解决实际生活中的速度测量问题,提高创新能力。
情感态度价值观目标:1. 学生通过本课程的学习,培养对电子设计自动化技术的兴趣,激发创新精神。
2. 学生在小组合作中,培养团队协作意识,提高沟通与交流能力。
3. 学生能够认识到速度表在交通安全中的作用,增强社会责任感和遵守交通规则的意识。
本课程针对学生年级特点,注重理论与实践相结合,以EDA软件为工具,培养学生电子设计能力。
课程目标具体、可衡量,旨在使学生在掌握基本知识的同时,提高实际操作和创新能力,培养良好的团队协作意识和价值观。
二、教学内容1. 速度表原理及计算公式:讲解速度表的基本工作原理,引导学生掌握速度的计算公式,理解速度与时间、路程的关系。
2. EDA软件应用:介绍EDA软件的基本功能与操作方法,使学生能够运用软件进行电路设计与仿真。
3. 速度表电路设计:依据教材相关章节,指导学生进行速度表电路的绘制,包括传感器、放大器、显示电路等组成部分。
4. 电路搭建与调试:学生分组进行速度表的搭建和调试,掌握电路故障排查方法,提高实际操作能力。
5. 速度表在实际应用中的案例分析:分析速度表在交通安全、运动监测等领域的应用案例,让学生了解速度表的实际意义。
教学内容安排和进度:第一课时:速度表原理及计算公式第二课时:EDA软件应用与电路设计第三课时:速度表电路搭建与调试第四课时:案例分析及总结教学内容与课本紧密关联,注重科学性和系统性。
eda课程设计报告
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课程设计实验报告_2
***********大学课程设计报告设计名称:3位数字频率设计姓名:学号:专业班级:08级电子信息工程专业二班院(系):计算机与信息工程学院设计时间:2011年1月4日至10日设计地点:电子信息楼4楼目录题目:3位数字频率计1页一、数字频率计的功能……………………………………………………1页二、数字频率计的设计思路………………………………………………1页三、硬件资源概述…………………………………………………………1~5页四、各模块的VHDL语言描述与实现……………………………………5~13页五、仿真模拟图……………………………………………………………13~15页六、软件硬件结合实现………………………………………………15~17页六、仿真及调试心得…………………………………………………………17页七、总结……………………………………………………………………17页3位数字频率计设计一、数字频率计的功能我设计的是3位数字频率计,用3个十进制数字显示式频率,其频率范围为1MHz。
有五个档位,并能自动换档。
五个档的具体功能是:1、计数溢出档,当频率计数超过量程时,自动显示溢出标--"-1.-1.-1";2、1MHz档,显示000到999,默认单位为1KHz;3、100KHz档,显示00.0到99.9,默认单位为1KHz;4、10KHz档,显示0.00到9.99,默认单位为1KHz;5、测周档,当所测频率小于0.99KHz时,显示数值变为周期,以毫秒为默认单位。
二、数字频率计的设计思路1、时基的设计在测频时,输入信号的频率大于频率计提供的基准频率,所以这时以频率计提供的基准频率信号为时基,输入信号为时钟信号,在频率计提供的基准信号周期里,计算输入信号的周期数,再乘以频率计的基准频率,就是输入信号的频率值。
测周时,输入信号的频率小于频率计提供的基准频率信号,所以要以频率计提供的基准频率信号为时钟信号,以输入信号为时基信号,在输入信号周期内,计算频率计提供的基准信号的周期数,再乘以基准频率的周期值,就是输入信号的周期值。
eda课程设计实训报告
eda课程设计实训报告一、教学目标本课程的教学目标分为知识目标、技能目标和情感态度价值观目标。
知识目标:学生通过本课程的学习,能够掌握eda的基本概念、原理和应用。
技能目标:学生能够熟练使用eda工具,进行电子系统设计和仿真。
情感态度价值观目标:培养学生对科技创新的兴趣和热情,提高学生解决实际问题的能力。
二、教学内容根据课程目标,本课程的教学内容主要包括eda基本概念、eda工具的使用和电子系统设计实例。
教学大纲如下:1.第一章:eda概述学习eda的基本概念、发展历程和应用领域。
2.第二章:eda工具介绍学习主流eda工具的使用方法和技巧。
3.第三章:电子系统设计实例通过具体实例,学习如何使用eda工具进行电子系统设计和仿真。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法。
1.讲授法:用于讲解eda的基本概念和原理。
2.讨论法:用于引导学生探讨和解决问题。
3.案例分析法:通过分析具体案例,让学生掌握eda工具的使用方法和技巧。
4.实验法:让学生动手实践,提高实际操作能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的eda教材作为主要学习资料。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:保障实验课程的顺利进行,让学生充分实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试。
1.平时表现:通过课堂参与、提问和讨论等方式评估学生的学习态度和理解程度。
2.作业:布置适量的作业,评估学生的掌握情况和应用能力。
3.考试:进行期中和期末考试,全面评估学生的知识掌握和运用能力。
评估方式要求客观、公正,能够全面反映学生的学习成果。
六、教学安排教学进度安排如下:1.第一章:eda概述(2课时)2.第二章:eda工具介绍(4课时)3.第三章:电子系统设计实例(6课时)教学时间安排为每周2课时,共计12课时。
EDA课程设计报告
EDA课程设计报告一、设计任务模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯操纵器。
能达到的要求:(1)交通灯从绿变红时,有4秒黄灯亮的间隔时刻;(2)交通灯红变绿是直截了当进行的,没有间隔时刻;(3)主干道上的绿灯时刻为40秒,支干道的绿灯时刻为20秒;(4)在任意时刻,显示每个状态到该状态终止所需的时刻。
支干道主干道图1 路口交通治理示意图二、设计原理1、设计目的:学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。
通过制作来了解交通灯操纵系统,交通灯操纵系统要紧是实现都市十字交叉路口红绿灯的操纵2、设计讲明在红绿灯交通信号系统中,大多数情形是通过自动操纵的方式指挥交通的。
因此为了幸免意外事件的发生,电路必须给一个稳固的时钟(clock)才能让系统正常运作。
模块讲明:系统输入信号:Clk: 由外接信号发生器提供256的时钟信号;系统输出信号: full:产生每秒一个脉冲的信号;(2)第二模块:计数秒数选择电路计数电路最要紧的功能确实是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。
模块讲明:系统输入:full: 接收由clk电路的提供的1hz的时钟脉冲信号;系统输出信号:tm:产生显示电路状态转换信号tl:倒计数值秒数个位变化操纵信号th:倒计数值秒数十位变化操纵信号(3)第三模块:红绿灯状态转换电路本电路负责红绿灯的转换。
模块讲明:系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号;tm: 接收计数秒数选择电路状态转换信号;系统输出信号:comb_out: 负责红绿灯的状态显示。
本电路负责红绿灯的计数时刻的显示。
模块讲明:系统输入信号:tl:倒计数值秒数个位变化操纵信号;th:倒计数值秒数十位变化操纵信号;系统输出信号:led7s1: 负责红绿灯的显示秒数个位。
led7s2:负责红绿灯的显示秒数十位。
EDA课程设计报告
EDA课程设计报告题目:#1——串口通信姓名:学号:班级:组员:串口通信一、设计要求设计一个全双工串口收发控制程序,速率为1200b/s、9600b/s、19200b/s可选,其中数据帧格式为:1位起始位+8位数据+1位奇偶校验位+1位停止位。
二、系统组成FPGA UART由3个子模块组成: 波特率发生器; 接收模块; 发送模块。
方框图如图1 所示。
波特率发生器比较接收模块发送模块图 1 UART 模块组成三、模块设计1. 顶层模块异步收发器的顶层模块由波特率发生器、UART接收和UART发送器构成。
UART 发送器的用途是将准备输出的并行数据按照基本UART 帧格式转为TXD 信号串行输出。
UART接收器接收RXD 串行信号, 并将其转化为并行数据。
波特率发生器就是专门产生一个远远高于波特率的本地时钟信号对输入RXD 不断采样, 使接收器与发送器保持同步。
电路图如图2所示。
2.波特率发生器波特率发生器实际上就是一个分频器。
可以根据给定的系统时钟频率(晶振时钟) 和要求的波特率算出波特率分频因子, 算出的波特率分频因子作为分频器的分频数波特率分频因子可以根据不同的应用需要更改。
本设计有三档,通sel[1..0]端口选择,模式一为1200b/s,模式二9600b/s,为模式三为19200b/s。
3.UART接收器由于串行数据帧和接收时钟是异步的, 由逻辑1 转为逻辑0 可以被视为一个数据帧的起始位。
然而, 为了避免毛刺影响, 能够得到正确的起始位信号, 必须要求接收到的起始位在波特率时钟采样的过程中至少有一半都是属于逻辑0 才可认定接收到的是起始位。
由于内部采样时钟bclk 周期(由波特率发生器产生) 是发送或接收波特率时钟频率的16 倍, 所以起始位需要至少8 个连续bclk 周期的逻辑0 被接收到, 才认为起始位接收到, 接着数据位和奇偶校验位将每隔16 个bclk 周期被采样一次(即每一个波特率时钟被采样一次) 。
eda技术课程设计总结
eda技术课程设计总结一、教学目标本课程的教学目标是使学生掌握EDA技术的基本原理、方法和应用,培养学生运用EDA技术解决实际问题的能力。
具体目标如下:1.知识目标:(1)理解EDA技术的基本概念、原理和特点;(2)掌握EDA技术的基本方法和步骤;(3)熟悉EDA技术在电子设计中的应用领域。
2.技能目标:(1)能够熟练使用EDA工具进行电路设计和仿真;(2)能够运用EDA技术进行PCB设计;(3)能够运用EDA技术进行信号处理和系统分析。
3.情感态度价值观目标:(1)培养学生对EDA技术的兴趣和热情;(2)培养学生团队协作、创新思维和实践能力;(3)培养学生运用EDA技术解决实际问题的意识。
二、教学内容根据课程目标,教学内容主要包括以下几个方面:1.EDA技术的基本概念、原理和特点;2.EDA技术的基本方法和步骤;3.EDA工具的使用方法和技巧;4.EDA技术在电子设计中的应用案例。
教学大纲安排如下:第一周:EDA技术概述第二周:EDA工具的使用方法第三周:电路设计与仿真第四周:PCB设计第五周:信号处理与系统分析第六周:EDA技术应用案例分析三、教学方法为了实现课程目标,采用以下教学方法:1.讲授法:讲解EDA技术的基本概念、原理和特点;2.讨论法:引导学生探讨EDA技术在实际应用中的问题;3.案例分析法:分析EDA技术在电子设计中的应用案例;4.实验法:让学生动手实践,熟练使用EDA工具。
四、教学资源1.教材:选用《EDA技术教程》作为主教材;2.参考书:提供《EDA技术及其应用》等参考书籍;3.多媒体资料:制作课件、教学视频等;4.实验设备:配备EDA实验箱,让学生进行实际操作。
五、教学评估为了全面、客观地评估学生的学习成果,本课程采用以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性;2.作业:布置适量的作业,评估学生的理解和应用能力;3.实验报告:评估学生在实验过程中的操作技能和分析解决问题的能力;4.考试成绩:包括期中考试和期末考试,以闭卷考试形式进行,评估学生对课程知识的掌握程度。
EDA课程设计实验报告
《EDA课程设计》报告学号:姓名:班级:指导教师:2013年6 月24日- 2013年7 月5日目录1.引言 ............................................................................................................... 错误!未定义书签。
2.原理图的设计................................................................................................ 错误!未定义书签。
文件的新建............................................................................................... 错误!未定义书签。
原理图文件XX .Sch的建立 ..................................................................... 错误!未定义书签。
元件库的导入........................................................................................... 错误!未定义书签。
原理图中各元件的布局和连线 (3)3.原理图新元件的设计 (4)元件库XX .Lib文件的建立 (4)原理图元件的画法................................................................................... 错误!未定义书签。
注意事项................................................................................................... 错误!未定义书签。
EDA课程设计报告
目录目录1.1EDA简介 (2)1.1.1EDA的发展史 (2)1.1.2EDA的应用 (3)1.1.3EDA技术的设计方法 (3)1.2数字系统设计 (4)1.2.1数字系统设计模型 (4)1.2.2 数字系统的设计步骤 (5)2.1任意波形产生器的系统构成 (7)2.1.1直接模拟法 (7)2.1.2直接数字法 (7)2.1.3基于地址计数器的直接数字和成法 (8)2.1.4基于相位累加器的直接数字合成法 (8)2.2任意波形产生器的作用 (10)2.3任意波形产生器的应用场合 (10)3.1设计要求 (12)3.2设计思路 (12)3.3设计流程 (13)3.4设计步骤及程序 (13)3.5硬件实现及调试结果 (21)3.5.1硬件实现 (21)电路模块组成部分: (21)3.5.2调试结果 (22)参考文献 (30)第一章绪论1.1EDA简介1.1.1EDA的发展史EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
自20世纪80年代初期诞生至今,自动化软件(组态软件)已有20年的发展历史。
应该说组态软件作为一种应用软件,是随着PC机的兴起而不断发展的。
80年代的组态软件,像Onspec、Paragon 500、早期的FIX等都运行在DOS环境下,图形界面的功能不是很强,软件中包含着大量的控制算法,这是因为DOS 具有很好的实时性。
90年代,随着微软的Windows 3.0风靡全球,以Wonderware 公司的Intouch为代表的人机界面软件开创了Windows下运行工控软件的先河,由于Windows 3.0不具备实时性,所以当时,80年代已成名的自动化软件公司在对于操作系统的支持上,或按兵不动,或将组态软件从DOS向OS/2移植,人们这样做的原因,是大家都认为工控软件必须具有很强的实时性和控制能力,必须运行在一个具备实时性的操作系统下,像DOS、OS/2、Win NT(1993年才推出)等。
eda课程设计实验报告
eda课程设计实验报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用所学知识,设计并实现基本的数字电路。
3. 学生了解数字电路的设计流程,掌握设计规范,具备初步的电路分析能力。
技能目标:1. 学生能独立操作EDA软件,完成电路的原理图绘制、仿真和布局布线。
2. 学生通过实验报告的撰写,提高实验数据分析、总结归纳的能力。
3. 学生在小组合作中,提高沟通协调能力和团队协作能力。
情感态度价值观目标:1. 学生培养对电子科学的兴趣,激发创新意识,增强实践能力。
2. 学生在实验过程中,形成严谨的科学态度,提高问题解决能力。
3. 学生通过课程学习,认识到科技发展对国家和社会的重要性,增强社会责任感。
课程性质:本课程为实践性较强的电子设计课程,旨在培养学生的实际操作能力、创新意识和团队合作精神。
学生特点:六年级学生具有一定的电子知识基础,好奇心强,喜欢动手实践,但需加强对理论知识的理解和应用。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. EDA基本概念与工具介绍- 电子设计自动化原理简介- 常用EDA软件功能与操作方法2. 数字电路设计基础- 数字电路基本元件及功能- 原理图绘制与仿真分析3. 布局布线与PCB设计- PCB设计流程与方法- 布局布线技巧与规范4. 实验报告撰写- 实验数据整理与分析- 实验总结与反思教学大纲安排如下:第一周:- EDA基本概念与工具介绍- 数字电路基本元件及功能第二周:- 原理图绘制与仿真分析第三周:- 布局布线与PCB设计第四周:- 实验报告撰写教学内容与教材关联性:本教学内容与教材《电子技术基础与实践》第六章“电子设计自动化”相关章节紧密相连,确保了教学内容的科学性和系统性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贵州大学EDA技术课程设计报告题目:BCD码加法器院系计算机科学与技术学院专业计科121学号**********、**********、********** 学生姓名张飞宇、王红强、匡金军指导教师夏玉勤设计BCD码加法器一、设计任务及要求(1)课程设计意义:对BCD码加法有了进一步了解;学习了quartus II设计软件,初步了解了FPGA;(2)设计要求:利用Verilog HDL语言,编写一个4位BCD码加法器程序,输入用八个开关分别表示两个BCD码,输出结果用数码管显示。
主要芯片:2个全加器(4008BD)、开关、数码管(2个),其他元件、门电路任选(3)主要功能:输入两个4位BCD码,相加结果显示在数码管上。
我组在要求的功能上添加了一些代码,使输入结果也能在数码管上显示。
(4)设计思路:图1 简易结构图如图1所示:A,B分别是2个输入数字,S0-S1为输出,经过BCD 加法器的运算,能实现BCD码加法功能。
(1)T=A+B,若T>10,则Z赋值为10,同时进位(2)C=1,和值低位(3)S0=T-Z,和值高位(4)S1=C。
二、基于Verilog语言的电路设计、仿真、综合硬件及软件电路设计及描述图2 顶层模块图图3 RTL(1)数据的产生与输入通过J1~J8八个单刀双掷开关在+5V和GND之间的切换来产生两个4位8421BCD码作为输入的数据,当开关打到+5V时输入数据1,打到GND时输入数据0。
其中J1~J4分别为数据A3~A0,J5~J8分别为数据B3~B0,且A3~A0、B3~B0的位权依次降低(8421)。
(2)加法电路把上面得到的两个四位8421BCD码分别输入4008BD全加器的输入端A3~A0、B3~B0,同时CIN输入端接低电平。
则S3~S0输出计算结果,COUT为进位输出端。
(3)转换电路为将输出结果显示在数码管上,需要将计算结果进行转换,转换电路的原理如表 2.1所示当结果小于9时,转换为十进制时只有一位,所以无需转换可以直接输入显示译码器后通过数码管显示出。
当运算结果大于9时,转化为十进制数为两位要进位,因此必须通过转换电路来实现数值转换,即将得到的结果做如表1.3所示的转换。
考虑到全加器要到16才能进位,而显示时则要求到十句进位,所以要在通过一个4008全加器将计算结果加上六,使其在结果为10时就开始进位,又因为计算结果小于9时不能加六,所以通过一个四位数值比较器74HC85AD将计算结果与事先设定的数9进行比较,当结果大于九时则给第二片全加器的A3~A0输入数据6,当计算结果不大于9时则给第二片全加器的A3~A0输入数据0,即不做变化。
(4)显示电路在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来,数字显示电路通常由译码驱动器和显示器等部分组成。
数码显示器就是用来显示数字、文字或符号的器件。
普遍使用的七段数字显示器发光二极管器件有发光二极管和液晶显示器。
发光二极管构成的七段显示器有两种,共阴极和共阳极电路。
共阴极电路中,七个发光二极管的阴极连在一起接低电平,需要某一段发光,就将相应二极管的阳极接高电平。
共阳极显示器的驱动则刚好相反。
为了使数码管能显示十进制数,必须将十进制数的代码经译码器译出,然后经驱动器点亮对应的段。
例如,对于8421BCD码的0011状态,对应于十进制数为3,则译码驱动应使a、b、c、d、g各段点亮。
译码器的功能就是,对应于某一组数码输入,相应的几个输出端有有效信号输出。
测试实验结果:通过调节开关输入数据0110与0011,按下F5,则数码管显示出计算09(不进位);再次调节开关输入数据1000与1001,数码管显示计算结果17(进位);然后随机输入0001与0010,数码管显示计算结果为3。
如下图4所示:图4 功能仿真图源程序代码:1.BCD加法器module BCDadder(A,B,S0,S1,clear); //定义输入模块input [3:0]A; //考虑到A、B的值可能//超过十进制数8,顾定义长度为4位;input [3:0]B;input clear; //clear为复位信号output S0;output S1;reg [3:0]S0;reg [3:0]S1;reg [4:0]C;reg [4:0]T; //T为临时参数,C为进位,低位和值可能超过16,所以定义T长度为5;reg [4:0]Z;always @(posedge clear) //以每一次复位上升沿到来开始计算和值;beginT=A+B; //低位相加和值赋T;if(T>9)beginZ=10; //如果低位相加有进位,则赋值Z=10;C=1; //如果T>9,则有进位,此时C=1;endelsebeginZ=0;C=0;endbeginS0=T-Z; //和值S0到S1赋值;S1=C;endendendmodule2.输入数A、B显示module indisplay(A,B,displayA,displayB);input [3:0]A;input [3:0]B;output [6:0]displayA;output [6:0]displayB; //定义7段数码管的输出;reg [6:0]displayA;//定义其类型为寄存器类型;reg [6:0]displayB;always@(A or B) //当输入A 、B中任何一位变化,即执行输入显示程序;begincase(A) //输入A显示4'd0:displayA=7'b1000000;4'd1:displayA=7'b1111001;4'd2:displayA=7'b0100100;4'd3:displayA=7'b0110000;4'd4:displayA=7'b0011001;4'd5:displayA=7'b0010010;4'd6:displayA=7'b0000010;4'd7:displayA=7'b1011000;4'd8:displayA=7'b0000000;4'd9:displayA=7'b0010000;default: displayA=7'b1000000; //默认时,数码管显示数字“0”;endcasecase(B) //输入B显示4'd0:displayB=7'b1000000;4'd1:displayB=7'b1111001;4'd2:displayB=7'b0100100;4'd3:displayB=7'b0110000;4'd4:displayB=7'b0011001;4'd5:displayB=7'b0010010;4'd6:displayB=7'b0000010;4'd7:displayB=7'b1011000;4'd8:displayB=7'b0000000;4'd9:displayB=7'b0010000;default:displayB=7'b1000000; //默认时,数码管显示数字“0”;endcaseendendmodule3.输出显示module display(S0,S1,display1,display2);input[3:0] S0;input[3:0] S1;output[6:0] display1;output[6:0] display2;reg[6:0] display1;reg[6:0] display2;always @(S0 or S1 ) //当和值S中的任何一位变化,就开始执行显示程序;begincase(S0) //和值第一位S0显示;4'd0:display1=7'b1000000;4'd1:display1=7'b1111001;4'd2:display1=7'b0100100;4'd3:display1=7'b0110000;4'd4:display1=7'b0011001;4'd5:display1=7'b0010010;4'd6:display1=7'b0000010;4'd7:display1=7'b1011000;4'd8:display1=7'b0000000; //默认时,数码管显示数字“0”;4'd9:display1=7'b0010000;default: display1=7'b1000000; //默认时,数码管显示数字“0”;endcasecase(S1) //和值第二位S1显示;4'd0:display2=7'b1000000;4'd1:display2=7'b1111001;4'd2:display2=7'b0100100;4'd3:display2=7'b0110000;4'd4:display2=7'b0011001;4'd5:display2=7'b0010010;4'd6:display2=7'b0000010;4'd7:display2=7'b1011000;4'd8:display2=7'b0000000;4'd9:display2=7'b0010000;default:display2=7'b1000000; //默认时,数码管显示数字“0”;endcaseendendmodule三、课程设计体会通过本实验,再次熟悉Verilog HDL编程程序,对其中的case 、if else 等语法运用有了更深的了解,掌握了BCD码加法器的逻辑原理,学会如何逐步分析,从而推导出程序顺序。
在编辑程序时,开始时T0、T1的值是利用语法assign来定义,发现这时,T就必须是wire类型数据,但这样T又无法直接做算术运算,后来调整语句,使T的赋值在always语句内出现,此时T则可直接进行算术运算。
在实验时,许多语法细节仍然不完全熟悉,比如“;”的输入常常出错,这个需要加强熟悉。
四、参考文献1.王橙非.电路与数字逻辑设计实践.南京:东南大学出版社,20022.康华光.《电子技术基础数字部分(第五版)》[m].高等教育出版社,2005。