推荐-EDA技术实用教程EDA课程设计报告 精品
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课程设计专业学号姓名指导教师日期 2012.06.21机械与电子信息学部一、设计任务与要求1.任务:制作并调试EDA学习板2.了解并能识别学习板上的各种元器件,会读元器件标示;3.会看电路原理图;4.制作EDA学习板;5.编写VHDL程序进行跑马灯控制6.编写VHDL程序进行步进电机的转速控制7.学会使用QuartusⅡ软件下载调试程序;8.用调试程序将学习板调试成功。
9.二.课程设计目的通过编写VHDL程序,结合硬件电路设计,实现跑马灯和步进电机的转速控制。
经过本次课程设计,能够将所学专业理论知识进行综合实际运用,锻炼学生的动手能力以及提高学生的综合专业素质。
三、实验内容1.芯片工作电路,利用晶振提供控制信号。
2.10引脚下载口与芯片相关引脚相连完成下载电路。
3.利用16个开关做成键盘,实现输入号对已编程的芯片的控制并通过数码管显示0--F。
4.用2片74HC573N具有锁存功能芯片与8个数码管相连,通过编程实现位选和段选实现输出信号的显示功能。
5.使用74HC573N锁存功能结合ULN2003AG芯片8非门芯片和74HC04N6非门芯片与4个2N5551三极管实现对步进电机的控制,和控制步进电机6.信号结合LED输出显示的功能。
7.利用1片74HC573N芯片与8个共阴极LED实现跑马灯功能。
四.课程设计器材清单六.程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cc isport(clk: in std_logic;bj:out std_logic_vector(3 downto 0);start:in std_logic;kbcol:in std_logic_vector(3 downto 0);kbrow:out std_logic_vector(3 downto 0);seg1_out:out std_logic_vector(3 downto 0);seg2_out:out std_logic_vector(3 downto 0);qq_out:out std_logic_vector (7 downto 0);qq1_out:buffer std_logic_vector(7 downto 0);sk:in bit);end;architecture one of cc istype btype is(s0,s1,s2,s3);signal current_state,next_state:btype;signal count: std_logic_vector(1 downto 0);signal sta: std_logic_vector(1 downto 0);signal seg1: std_logic_vector(3 downto 0);signal seg2: std_logic_vector(3 downto 0);signal fn: std_logic;signal ks:std_logic_vector(1 downto 0);signal qq: std_logic_vector (7 downto 0);signal qq1:std_logic_vector (7 downto 0);signal sp1,sp2:std_logic_vector(3 downto 0);beginpqq:process (clk)beginif clk'event and clk='1' thenqq<=qq+1;end if;end process;qq_out<=qq;reg:process (qq(7))beginif qq(7)'event and qq(7)='1'thencurrent_state <=next_state;end if;end process reg;com:process (current_state)begincase current_state iswhen s0=> bj<="0011";next_state <=s1; when s1=> bj<="1001";next_state <=s2; when s2=> bj<="1100";next_state <=s3; when s3=> bj<="0110";next_state <=s0; when others=>next_state <=s0;end case;end process com;process(clk)beginif clk'event and clk='1'then count<=count+1; end if;end process;process(clk)beginif clk'event and clk='1'thencase count iswhen "00"=>kbrow<="0001";sta<="00";when "01"=>kbrow<="0010";sta<="01";when "10"=>kbrow<="0100";sta<="10";when "11"=>kbrow<="1000";sta<="11";when others=>kbrow<="1111";end case;end if;end process;process(clk,start)beginif start='0'then seg1<="0000";seg2<="0000"; elsif clk'event and clk='1'thencase sta iswhen "00"=>case kbcol iswhen "0001"=>seg1<="0000";seg2<="0001"; when "0010"=>seg1<="0000";seg2<="0010";when "0100"=>seg1<="0000";seg2<="0011";when "1000"=>seg1<="0000";seg2<="0100";when others=>seg1<="1111";seg2<="1111";end case;when "01"=>case kbcol iswhen "0001"=>seg1<="0000";seg2<="0101";when "0010"=>seg1<="0000";seg2<="0110";when "0100"=>seg1<="0000";seg2<="0111";when "1000"=>seg1<="0000";seg2<="1000";when others=>seg1<="1111";seg2<="1111";end case;when "10"=>case kbcol iswhen "0001"=>seg1<="0000";seg2<="1001";when "0010"=>seg1<="0001";seg2<="0000";when "0100"=>seg1<="0001";seg2<="0001";when "1000"=>seg1<="0001";seg2<="0010";when others=>seg1<="1111";seg2<="1111";end case;when "11"=>case kbcol iswhen "0001"=>seg1<="0001";seg2<="0011";when "0010"=>seg1<="0001";seg2<="0100";when "0100"=>seg1<="0001";seg2<="0101";when "1000"=>seg1<="0001";seg2<="0110";when others=>seg1<="1111";seg2<="1111";end case;when others=>seg1<="1111";seg2<="1111";end case;end if;end process;fn<=not(seg1(0)and seg2(0)and seg2(1)and seg2(2)and seg2(3)); process(fn)beginif fn'event and fn='1'thenseg1_out<=seg1;seg2_out<=seg2;end if;end process;process (qq(7))variable c:integer range 7 downto 0; beginif qq(7)'event and qq(7)='1'thenc:=c+1;if c=7 thenqq1<=qq1+1;end if;end if;end process;process (fn,qq1)beginif fn'event and fn='1' thencase seg1 iswhen "0000"=>case seg2 iswhen "0001"=>qq1_out<="00011001"; when "0010"=>qq1_out<="00110010"; when "0011"=>qq1_out<="01001011"; when "0100"=>qq1_out<="01100100"; when "0101"=>qq1_out<="01111111"; when "0110"=>qq1_out<="10010110"; when "0111"=>qq1_out<="10101111"; when "1000"=>qq1_out<="11001000"; when "1001"=>qq1_out<="11100001"; when others=>qq1_out<=qq1;end case;when "0001"=>case seg2 iswhen "0000"=>qq1_out<="11110000"; when "0001"=>qq1_out<="11111111"; when "0010"=>qq1_out<="00000000"; --when "0011"=>qq1_out<=qq1;when others=>qq1_out<=qq1;end case;when others=>qq1_out<=qq1;end case;end if;end process;process(sk,start,sp1,sp2)beginif start='0' then sp1<="0000";sp2<="0000";elsif sk'event and sk='1' thenif sp2<"1001" then sp2<=sp2+1;else sp2<="0000";end if;end if;if sp2="1001" then sp1<=sp1+1;end if;end process;end;七.元件调试1、否短路用万用表检查P2两端是短路。
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技术及应用课程设计》报告系别:专业班级:学生姓名:指导教师:(课程设计时间:年月日——年月日)。
校秒表是人们日常生活中常用的测时仪器,它能够简单的完成计时、清零等功能,从一年一度的校际运动会到NBA、世界杯、奥运会,都能看到秒表的身影。
1.系统设计要求学习使用EDA集成设计软件MaxplusⅡ设计一个计时范围为0.01秒~1小时的数字秒表,能够精确反映计时时间,并完成复位、计时功能。
秒表计时的最大范围为1小时,精度为0.01秒。
秒表可得到计时时间的分、秒、0.1秒等度量,且各度量单位间可正确进位。
当复位清零有效时,秒表清零并做好计时准备。
任何情况下,只要按下复位开关,秒表都要无条件的进行复位操作,即使在计时过程中也要无条件的清零。
了解全过程中VHDL程序的基本结构,掌握使用EDA工具设计数字系统的设计思路和设计方法。
学习VHDL基本逻辑电路的综合设计应用。
根据电路持点,用层次设计概念。
将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,同时加深层次化设计概念;考虑软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何熔合等问题。
2.系统设计方案根据上述设计要求,可以预先设计若干个不同进制的计数器单元模块,然后将其进行例化组合来得到数字秒表系统。
要满足数字秒表的精度,首先要获得精确的计时基准信号,这里的系统精度要求为0.01秒,因此必须设置周期为0.01秒的时钟脉冲。
1/100秒、秒、分等计时单位之间的进位转换可以通过不同进制的计数器实现,我们分别设计十进制计数器和六进制计数器,每位计数器均能输出相应计时单位计数结果,其中,十进制计数器可以实现以0.01秒、0.1秒、1秒和1分为单位的计数,六进制计数器可以实现以10秒、10分为单位的计数,把各级计数器级联,即可同时显示百分秒、秒和分钟。
停止和启动功能可以通过计时使能信号完成。
信号有效时正常计时,否则没有脉冲输入到计数器,从而停止计时。
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课程设计报告
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技术及应用课程设计报告题目:数字频率计的设计班级:自动化132学生姓名:王肖亮指导老师:潘清明1.引言1).数字频率计数字频率计是采用数字电路制做成的能实现对周期性变化信号频率测量的仪器。
频率计主要用于测量正弦波、矩形波、三角波和尖脉冲等周期信号的频率值。
其扩展功能可以测量信号的周期和脉冲宽度。
通常说的,数字频率计是指电子计数式频率计。
测量频率的方法有很多,按照其工作原理分为无源测量法、比较法、示波器法和计数法等。
计数法在实质上属于比较法,其中最常用的方法是电子计数器法。
电子计数器是一种最常见、最基本的数字化测量仪器。
数字计数式频率计能直接计数单位时间内被测信号的脉冲数,然后以数字形式显示频率值。
这种方法测量精确度高、快速,适合不同频率、不同精确度测频的需要。
电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。
由于数字电路的飞速发展和集成电路的普及,计数器的应用十分广泛。
利用电子计数器测量频率具有精度高,显示醒目直观,测量迅速,以及便于实现测量过程自动化等一系列突出优点,所以该方法是目前最好的。
在电子技术领域,频率是一个最基本的参数。
数字频率计作为一种最基本的测量仪器以其测量精度高、速度快、操作简便、数字显示等特点被广泛应用。
许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度等通过传感器转换成信号频率,可用数字频率计来测量。
尤其是将数字频率计与微处理器相结合,可实现测量仪器的多功能化、程控化和智能化.随着现代科技的发展,基于数字式频率计组成的各种测量仪器、控制设备、实时监测系统已应用到国际民生的各个方面。
2).EDA技术现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA技术。
EDA技术是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件,自动地完成编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电路而随着技术的进步,EDA技术更多地应用到各个电子系统中已成一种趋势,本设计主要设计一8位10进制频率计。
EDA技术课程设计报告
课程设计任务书设计题目1:数码管显示数字钟设计院(系)分管领导:教研室主任:指导教师:2017年 6月 23日目录第1章引言 0第2章电路原理 0第3章程序设计 (1)3.1 顶层模块设计 (2)3.2 时钟分频模块设计 (2)3.3 按键驱动模块设计 (2)3.4 时钟计数模块设计 (3)3.5 整点报时模块 (4)3.6 LED灯花样显示模块 (5)3.7 数码管显示模块设计 (6)第4章调试、测试分析及结果 (8)4.1 调试 (8)4.2 测试分析 (8)4.3 结果 (9)第5章小结 (10)参考文献 (11)附录电路图及程序 (12)第1章引言EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL 或者Verilog HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。
此次课程设计我们运用QuartusⅡ这个软件,使用Verilog HDL语言进行编程。
数字钟是一种用数字电路技术实现时、分、秒计时的钟表。
与机械钟相比具有更高的准确性和直观性,具有更长的使用寿命,已得到广泛的使用。
数字钟的设计方法有许多种,例如可用中小规模集成电路组成电子钟,也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟,还可以利用单片机来实现电子钟等等。
eda课程设计--EDA课程设计实验报告
三、方案选择
1、波形函数发生方案对比选择
波形函数发生是本设计的最重要的部分,实现函数发生的途径也有很多,因此必须选择一种易于实现且精度高的方案,以此来提高本设计的实用性。
VARIABLE a: STD_LOGIC;
BEGIN
IF reset='0' THEN
tmp:="00000000";--复位信号为0,置最小值
ELSIF clk'EVENT AND clk='1' THEN--检测时钟上升沿
IF a='0' THEN--判断a数值,计数。
IF tmp="11111111" THEN
结构图如下图所示:
上图所示的信号发生结构中图中,顶层文件sin.bdf在FPGA中实现,包含两个部分:ROM的地址信号发生器,由6位计数器担任;一个正弦数据ROM,由LPM_ROM模块构成,6位地址线,8位数据线,一个周期含有64个8位数据。LPM_ROM底层是FPGA中的EAB、ESB或M4K等模块。地址发生器的时钟CLK的输入频率F0与每周期的波形数据点数以及D/A输出频率F的关系是:F=F0/64。
tmp:="00000000";--置最小值
a:='0';
ELSE--a为1时,执行递减运算
tmp:=tmp-1;--递减运算
END IF;
END IF;
END IF;
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课程设计实训报告
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课程设计》报告学号:姓名:班级:指导教师:2013年6 月24日- 2013年7 月5日目录1.引言 ............................................................................................................... 错误!未定义书签。
2.原理图的设计................................................................................................ 错误!未定义书签。
文件的新建............................................................................................... 错误!未定义书签。
原理图文件XX .Sch的建立 ..................................................................... 错误!未定义书签。
元件库的导入........................................................................................... 错误!未定义书签。
原理图中各元件的布局和连线 (3)3.原理图新元件的设计 (4)元件库XX .Lib文件的建立 (4)原理图元件的画法................................................................................... 错误!未定义书签。
注意事项................................................................................................... 错误!未定义书签。
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课程设计报告课程:EDA技术实用教程学院:电子与信息工程学院目录实验一、3-8译码器的仿真一:实验名称:3-8译码器仿真二:实验要求:熟悉对max+plusⅡ10.0的使用,并且能简单的使用进行3-8译码器的仿真和论证。
三:实验步骤:1:使用max+plusⅡ10.0软件,设计3-8译码器的实验原理图如下所示:图1 实验原理图2:波形的仿真与分析启动max+plusⅡ10.0\Waveform editor菜单,进入波形编辑窗口,选择欲仿真的所有I\O管脚。
如下图所示:图2 波形编辑为输入端口添加激励波形,使用时钟信号。
选择初始电平为“0”,时钟周期倍数为“1”。
添加完后,波形图如下所示:图3 添加激励后的波形打开max+plusⅡ10.0\Simulator菜单,确定仿真时间,单击Start开始仿真,如下图所示:图4 仿真过程图5 仿真结果四:实验结论:使用max+plusⅡ10.0能很好的完成很多电路的仿真与工作。
实验二、2选一多路选择器一、原理图设计输入法图一 2选1多路选择器结构体图二电路编译结果图三波形仿真由波形图可知:当a、b两个输入口分别输入不同频率信号时,针对选通控制端s上所加的不同电平,输出端y将有对应不同信号输出。
例如当s为低电平时,y口输出了来自a端的较高频率的时钟信号;反之,即当s为高电平时,y口输出了来自b 端的较低频率的时钟信号。
二、文本设计输入(VHDL)法图四2选1多路选择器(VHDL)图五2选1多路选择器(VHDL)波形图图六2选1多路选择器(VHDL)引脚分布图实验三、十进制计数器一、VHDL程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_UNSIGNED.all;entity T10 isport (CLK,RST,EN,LOAD: IN STD_LOGIC;DATA: IN STD_LOGIC_VECTOR(3 DOwNTO 0);DOUT: out std_logic_vector(3 DOWNTO 0);COUT: OUT STD_LOGIC);ENd entity T10;ARCHITECTURE behav of T10 ISBEGINPROCESS (CLK,RST,EN,LOAD)variable Q: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF RST='0' THEN Q:= (OTHERS=>'0');ELSIF CLK 'EVENT AND CLK ='1' THENIF EN='1' THENIF (LOAD ='0') THEN Q:=DATA; ELSEIF Q<9 THEN Q:=Q+1;ELSE Q:=(OTHERS=>'0');END IF;END IF;END IF;END IF;IF Q="1001" THEN COUT<='1';else COUT<='0'; END IF;DOUT <=Q;END PROCESS;END behav;它是一个带有异步复位和同步加载功能的十进制加法计数器。
二、编译报告pilation Report _flow sumamySimulation Repoet_simutlaion waveformt10.vwf由图可知,(1)当计数使能EN为高电平时允许计数;RST低电平时计数器被清零。
(2)由于LOAD是同步加载控制信号,其第一个负脉冲恰好在CLK的上升沿处,故将5加载于计数到9,出现了第一个进位脉冲。
由于LOAD第二个负脉冲未在CLK上升沿处,故没有发生加载操作,而第3、4个负脉冲都出现了加载操作;(3)当计数器每次计到9时,输出为高电平,而且计数器又从0开始重新计数三、RTL图四、symbol t10.bdf实验四、四选一多路选择器一、用IF_THEN语句实现4选1多路选择器图一用IF_THEN语句实现4选1多路选择器文本设计输入图二程序运行编译结果图三四选一多路选择器的电路仿真波形图由上图可知:当sel=11时,y=intput3;当sel=10时,y=intput2;当sel=01时,y=intput1;当sel=00时,y=intput0;实现了四选一功能。
图四4选1多路选择器RTL电路图图五4选1多路选择器Symbol二、用CASE语句实现4选1多路选择器图六用CASE语句实现4选1多路选择器文本设计输入图七程序运行编译结果图八四选一多路选择器的电路仿真波形图由上图可知(s<=s1&s2):当s=00时,z=a;当s=01时,z=b;当s=10时,z=c;当s=11时,z=d;实现了四选一功能。
图九4选1多路选择器RTL电路图图十4选1多路选择器Symbol三、用WHEN_ELSE语句实现4选1多路选择器图十一用WHEN_ELSE语句实现4选1多路选择器文本设计输入图十二四选一多路选择器的电路仿真波形图由上图可知(sel<=b & a):当sel=00时,q=i0;当sel=01时,q=i1;当sel=10时,q=i2;当sel=11时,q=i3;实现了四选一功能。
图十三4选1多路选择器RTL电路图实验五、ADC0809采样状态机一、文本设计输入(VHDL)法图一 ADC0809采样状态机文本设计输入图二程序运行编译结果二、RTL电路图图三ADC0809采样状态机RTL电路图三、ADC0809采样状态图图四ADC0809采样状态图四、ADC0809采样状态机工作时序图五 ADC0809采样状态机工作时序图上图显示了一个完整的采样周期。
复位信号后进入状态s0;第二个时钟上升沿后,状态机进入状态s1,由start 、ale 发出采样和地址选通的控制信号。
而后,eoc 由高电平变为低电平,ADC0809的8位数据输出端呈现高阻状态“ZZ ”。
在状态s2,等待了clk 的数个时钟周期之后,eoc 变为高电平,表示转换结束;进入状态s3,在此状态的输出允许oe 被被设置成高电平。
此时ADC0809的数据输出端d[7.. 0]即输出已经转换好的数据5EH 。
在状态s4,lock_t 发出一个脉冲,其上升沿立即将d 端口的5E 锁入q 和regl 中。
图六 ADC0809采样状态机Symbol实验六、11010011序列检测一、文本设计输入(VHDL)法图一序列检测器文本设计输入图二程序运行编译结果二、序列检测器RTL电路图图三序列检测器RTL电路图三、序列检测器状态图图四序列检测器状态图四、序列检测器时序仿真波形图五序列检测器时序仿真波形由上图可知,当有正确序列进入时,到了状态8时,输出序列正确标志SOUT=1。
而当下一位数据为零时,即DIN=0,进入状态四s3(这时测出的数据110恰好与原序列数的头三位相同)。
图六序列检测器Symbol实验七、两个8位乘8位的有符号数乘法器一、文本设计输入(VHDL)法图一两个8位乘8位的有符号数乘法器文本设计输入图二程序运行编译结果图三仿真波形由波形可知,在CLK的第4个上升沿后才得到第一个计算数据,之前都是0。
第4个上升沿后得到的结果为s=0×0+23×15=345;第5个上升沿后得到结果为s=23×15+11×22=587;第6个上升沿后得到结果为s=11×22+33×45=1727;第7个上升沿后得到结果为s=33×45+16×21=1821;第8个上升沿后得到结果为s=16×21+16×5=416;第9个上升沿后得到结果为s=16×5+11×21=311;二、两个8位乘8位的有符号数乘法器Symbol图四两个8位乘8位的有符号数乘法器Symbol三、两个8位乘8位的有符号数乘法器RTL电路图图五两个8位乘8位的有符号数乘法器RTL电路图实验八、全加器一、文本设计输入(VHDL)法图一全加器文本设计输入图二仿真结果图三全加器波形仿真图AIN BIN CIN COUNT SUM0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1对比真值表和仿真波形,加数AIN,BIN和进位CIN共有8总情况,和SUM 和进位COUNT共有4总情况,波形和真值表一致图四全加器波实体模块图五全加器F_adder电路图实验九、LPM_COUNTER计数模块一、文本设计输入(VHDL)法图一 LPM_COUNTER计数模块文本设计输入图二 程序运行编译结果图三 LPM_COUNTER 计数模块 图四 LPM_COUNTER 计数模块Symbol 二、LPM_COUNTER 计数模块RTL 电路图图五 LPM_COUNTER 计数模块RTL 电路图实验十、LPM_COUNTER计数模块例化一、文本设计输入(VHDL)法图一 LPM_COUNTER计数模块例化文本设计输入图二程序运行编译结果二、T4BIT.V仿真波形图三 T4BIT.V 的仿真波形由仿真波形图可知:在第2个SLD 加载信号在没有CLK 上升沿处发生时,无法进行加载,显然SLD 是同步的。
从波形中可以了解此计数器模块的功能和性能。
二、T4BIT 计数模块RTL 电路图图六 T4BIT 计数模块RTL 电路图图五 T4BIT 计数模块Symbol图四 T4BIT 原理图输入设计实验十一、LPM随机存储器的设置和调用一、建立MIF格式文件图一MIF文件编辑窗图二利用康芯MIF生成MIF正弦波数据文件二、对LPM_RAM仿真测试图三 在原理图编辑器上连接好的RAM 模块图四 RAM 仿真波形三、利用用户自定义数据类型语句来实现存储器描述图五 存储器VHDL程序图六 仿真结果图七波形仿真结果图九存储器Symbol图八 存储器RTL电路图实验十二、LPM_ROM的定制和使一、正弦信号发生器源程序图一正弦信号发生器源程序图二仿真结果图三 LPM_ROM 仿真测试图四 正弦信号发生器RTL 电路图 图五 正弦信号发生器仿真波形由波形可见,随着每一个时钟上升沿的到来,输出端口将正弦波数据依次输出,输出的数据与加载数据相符。
图六正弦信号发生器Symbol实验十三、FIFO定制一、FIFO电路原理图图一 FIFO电路原理图此FIFO的数据位宽为8,深度为256。