EDA技术与实践综合设计报告
- 格式:doc
- 大小:62.50 KB
- 文档页数:10
EDA综合课程设计实验报告题目:设计一个全双工UART电路院系:XXXX学院学号:XXXXX姓名:严XX教师:林XX时间:2012.06.021 课程设计的摘要原理 (2)2 设计一个全双工UART电路,具体要求如下: (6)3.UART设计 (7)3.1 UART结构 (7)3.2 UART的帧格式 (8)4 UART的Verilog HDL语言设计 (9)4.1 UART分频器 (9)4.2UART发送模块 (10)4.3 UART的接收模块 (14)4.4 UART的硬件测试 (18)5 课程设计总结 (19)1摘要UART协议是数据通信及控制系统中广泛使用的一种全双工串行数据传输协议,在实际工业生产中有时并不使用UART的全部功能。
只需将其核心功能集成即可。
波特率发生器、接收器和发送器是UART的三个核心功能模块,利用Vefilog-HDL语言对这三个功能模块进行描述并加以整合UART(即Universal AsynchronousReceiver Transmitter 通用异步收发器)是广泛使用的串行数据传输协议。
UART允许在串行链路上进行全双工的通信。
串行外设用到RS232-C异步串行接口,一般采用专用的集成电路即UART实现。
如8250、8251、NS16450等芯片都是常见的UART器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如FIFO),有时我们不需要使用完整的UART的功能和这些辅助功能。
或者设计上用到了FPGA/CPLD器件,那么我们就可以将所需要的UART功能集成到FPGA内部。
使用VHDL或Veriolog -HDL将UART的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。
本文应用EDA技术,基于FPGA/CPLD器件设计与实现UART。
实际应用上,有时我们不需要使用完整的UART的功能和这些辅助功能。
使用Verilog-HDL将所需要的UART的核心功能集成到FPGA/CPLD内部,就可以实现紧凑、稳定且可靠的UART数据传输。
EDA技术及其应用实训报告学院:电气与控制工程学院班级:自动化1202班姓名:李锦涛学号: 27指导老师:杨占社许琼时间:2015年1月15日电子电路EDA实训一、课程设计的目的及任务EDA课程设计是工科院校电类专业学生进行的一次较全面的设计能力训练实践课程。
通过本课程设计重点掌握一种EDA 软件--Multisim软件在模拟电路和数字电路的设计和仿真应用,训练学生综合运用学过的电子电路的基本知识,独立设计比较复杂的电路的能力。
软件平台是NI Multisim,便于开展综合性的设计和实验,有利于培养综合分析能力、开发和创新的能力。
通过课程设计,学生要掌握使用EDA工具设计电路的方法,包括图形设计输入、编译、软件仿真和分析等全过程。
1.培养理论联系实际的设计思想,训练综合运用电子设计自动化和有关先修课程的理论,结合生产实际分析和解决工程实际问题的能力,巩固、加深和扩展有关电子电路设计方面的知识。
2.通过系统学习NI Multisim,利用软件的方法虚拟电子与电工元器件,虚拟电子与电工仪器和仪表,制定设计方案实现原理电路设计、电路功能测试,仿真和分析,达到掌握电子电路分析和设计全过程和实验。
3.进行设计基本技能的训练。
结合所学电工电子理论进行软件电路设计,熟悉和运用设计资料以及使用经验数据、进行经验估算和处理数据的分析和设计能力。
二、课程设计的基本要求通过学习与实践,使学生接触、了解、进而初步掌握先进的电子系统设计技术,学习基于NI Multisim EDA软件的一般方法和设计思想,并培养学生的抽象思维能力和创新意识;提高学生学习应用电子技术课程知识解决实际问题的能力,锻炼学生应用EDA解决小型系统设计的能力。
1、通过课程设计使学生能熟练掌握EDA软件(NI Multisim)的使用方法,能熟练进行设计输入、管脚分配、仿真、分析等过程。
2、通过课程设计使学生能利用EDA软件进行电子技术综合问题的设计。
EDA综合设计1、七人表决器2、数字抢答器班级:电信一班姓名:马莎莎学号:2220102802EDA综合设计实验课题一、设计目的1、掌握用VNDL硬件描述语言做数字电路综合设计的方法。
2、熟练掌握程序的编译、仿真、生成模块及芯片引脚号码锁定方法并下载到目标芯片。
二、实验仪器ZY11EDA13BE型试验箱。
三、实验课题(一)、设计一个七人表决器1、流程图2、顶层原理图3、程序清单(1)、biaojueqiLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity biao isport (xin: in std_logic_vector ( 6 downto 0 );xout: out std_logic;xout0,xout1: out std_logic_vector ( 6 downto 0 ));end entity ;architecture bev of biao isbeginprocess ( xin )variable j: integer :=0;beginj:=0;for i in 0 to 6 loopif xin(i)='1' thenj:=j+1;end if;end loop;if j>3 thenxout<='1';else xout<='0';end if;case j isWHEN 0=>xout1<="1111110";WHEN 1=>xout1<="0110000";WHEN 2=>xout1<="1101101";WHEN 3=>xout1<="1111001";WHEN 4=>xout1<="0110011";WHEN 5=>xout1<="1011011";WHEN 6=>xout1<="1011111";WHEN 7=>xout1<="1110000";WHEN OTHERS=>xout1<="0000000";end case;case j isWHEN 7=>xout0<="1111110";WHEN 6=>xout0<="0110000";WHEN 5=>xout0<="1101101";WHEN 4=>xout0<="1111001";WHEN 3=>xout0<="0110011";WHEN 2=>xout0<="1011011";WHEN 1=>xout0<="1011111";WHEN 0=>xout0<="1110000";WHEN OTHERS=>xout0<="0000000";end case;end process;end architecture bev;(2)、mux2LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY mux2 ISPORT(CNTL,CNTH :IN STD_LOGIC_VECTOR(6 DOWNTO 0);CNTOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SEL:in STD_LOGIC_VECTOR(2 DOWNTO 0));END mux2;ARCHITECTURE BEHA V OF mux2 ISBEGINPROCESS(sel)BEGINCASE sel ISWHEN"000"=>CNTOUT<=CNTL;WHEN"001"=>CNTOUT<=CNTH;WHEN OTHERS=>CNTOUT<="0000000";END CASE;END PROCESS;END BEHA V;(3)、cnt2LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt2 ISPORT(CP,RESET:IN STD_LOGIC;SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END cnt2;ARCHITECTURE BEHA V OF cnt2 ISSIGNAL SEC:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGINPROCESS(RESET,CP)BEGINIF(RESET='0')THENSEC<="000";ELSIF(CP'EVENT AND CP='1')THENIF(SEC="001")THENSEC<="000";ELSESEC<=SEC+1;END IF;END IF;END PROCESS;SEL<=SEC;END BEHA V;4、仿真波形5、引脚号码锁定分布表实验符号对应附录符号管脚Xin[0] K1 PIN_45Xin[1] K2 PIN_46Xin[2] K3 PIN_47Xin[3] K4 PIN_53Xin[4] K5 PIN_54Xin[5] K6 PIN_55Xin[6] K7 PIN_56Sel[0] A PIN_7Sel[1] B PIN_8Sel[2] C PIN_9clk 9 PIN_79clear K8 PIN_57xout LED16 PIN_44Seg[0] a PIN_10Seg[1] b PIN_11Seg[2] c PIN_12Seg[3] d PIN_13Seg[4] e PIN_14Seg[5] f PIN_15Seg[6] g PIN_166、生成模块符号(二)、数字抢答器1、设计方框图2、顶层设计原理图3、程序清单(1)、qiangdajianbelibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity qdjb isport(rst,start,clk2:in std_logic;s0,s1,s2:in std_logic;states:buffer std_logic_vector(3 downto 0);c0,c1,c2 :buffer std_logic;tmp,q,p:out std_logic);end qdjb;architecture one of qdjb isbeginprocess(s0,rst,start,s1,s2,clk2)beginif rst='0' thenq<='0';tmp<='0';states<="0000";elsif start='0' thenp<=s0 or s1 or s2 ;if (s0='1' )then states<="0001";end if ;if (s1='1' ) then states<="0010";end if ;if (s2='1' ) then states<="0011";end if ;elsif clk2'event and clk2='1'and start='1' then if (s0='1' )then states<="0001";c0<='1';c1<='0';c2<='0';end if ;if (s1='1' ) then states<="0010";c0<='0';c1<='1';c2<='0';end if ;if (s2='1' ) then states<="0011";c0<='0';c1<='0';c2<='1';end if ;q<=s0 or s1 or s2 ;tmp<=not(s0 or s1 or s2) ;end if ;end process ;end one;(2)、cnt20library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity CNT20 isport(CLK,EN,CR :in std_logic;co :out std_logic;QH,QL:out std_logic_vector(3 downto 0));end CNT20;architecture a of CNT20 issignal QNH,QNL :std_logic_vector(3 downto 0);beginco<='1'when(QNL=0 and QNH=0 and EN='1')else'0';process(CLK,CR)beginif(CR='0')thenQNH<="0001";QNL<="1001";elsif(CLK'EVENT and CLK='1')thenif(EN='1')thenif QNL=0 and QNH=0 thenQNL<="1001";QNH<="0001";elsif QNL=0 thenQNL<="1001";QNH<=QNH-1;elseQNl<=QNl-1;end if;end if;end if;end process;QH<=QNH;QL<=QNL;end a;(3)、mux2library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity mux2 isport(in1,in2:in std_logic;sel:in std_logic;q:out std_logic);end mux2;architecture arc_mux2 of mux2 isbeginq<=in1 when sel='0'elsein2 when sel='1';end arc_mux2;(4)、dongtaisaomiaolibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sjxz isport (a,b,c: in std_logic_vector(3 downto 0);clk2,rst: in std_logic;s: out std_logic_vector(2 downto 0);y: out std_logic_vector(3 downto 0) );end sjxz;architecture body_chooser of sjxz issignal count: std_logic_vector (2 downto 0);begins<=count;process(clk2,rst)beginif(rst='0')then count<="000";elsif(clk2'event and clk2='1')thenif(count>="010")thencount<="000";else count<=count+1;end if;end if;case count iswhen "000"=>y<=a;when "001"=>y<=b;when "010"=>y<=c;when others=>null;end case;end PROCESS;end body_chooser;(5)、BCDdecoderLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY YMQ ISPORT(AIN4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);DOUT7: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END YMQ;ARCHITECTURE ART OF YMQ ISBEGINPROCESS(AIN4)BEGINCASE AIN4 ISWHEN "0000"=>DOUT7<="1111110"; --0 WHEN "0001"=>DOUT7<="0110000"; --1 WHEN "0010"=>DOUT7<="1101101"; --2 WHEN "0011"=>DOUT7<="1111001"; --3 WHEN "0100"=>DOUT7<="0110011"; --4 WHEN "0101"=>DOUT7<="1011011"; --5 WHEN "0110"=>DOUT7<="1011111"; --6 WHEN "0111"=>DOUT7<="1110000"; --7 WHEN "1000"=>DOUT7<="1111111"; --8 WHEN "1001"=>DOUT7<="1111011"; --9 WHEN OTHERS=>DOUT7<="0000000";END CASE;END PROCESS;END ARCHITECTURE ART;4、仿真波形5、引脚号码锁定分布表实验符号对应附录符号管脚rst1 K1 PIN_45Rst3 K3 PIN_47start K2 PIN_58S0 K5 PIN_54S1 K6 PIN_55S2 K7 PIN_56Clk1 9 PIN_79Clk2 7 PIN_80Clk3 8 PIN_183Warn LED16 PIN_44Warn8 LED15 PIN_41dout[0] a PIN_10dout[1] b PIN_11dout[2] c PIN_12dout[3] d PIN_13dout[4] e PIN_14dout[5] f PIN_15dout[6] g PIN_16Sel[0] A PIN_7Sel[1] B PIN_8Sel[2] C PIN_9 6、生成模块符号四、实验总结这次EDA课程设计,学到了很多很多的东西,不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
实验一五人表决器设计一、实验目的1 加深对电路理论概念的理解3 加深计算机辅助分析及设计的概念4 了解及初步掌握对电路进行计算机辅助分析的过程二、实验要求制作一个五人表决器,共五个输入信号,一个输出信号。
若输入信号高电平数目多于低电平数目,则输出为高,否则为低。
三、实验原理根据设计要求可知,输入信号共有2^5=32种可能,然而输出为高则有15种可能。
对于本设计,只需一个模块就能完成任务,并采用列写真值表是最简单易懂的方法。
四、计算机辅助设计设A,B,C,D,E引脚为输入引脚,F为输出引脚。
则原理图如1所示图1.1 五人表决器原理图实验程序清单如下:MODULE VOTEA,B,C,D,E PIN;F PIN ISTYPE 'COM';TRUTH_TABLE([A,B,C,D,E]->[F])[0,0,1,1,1]->[1];[0,1,1,1,0]->[1];[0,1,0,1,1]->[1];[0,1,1,0,1]->[1];[1,0,1,1,1]->[1];[1,1,0,1,1]->[1];[1,1,1,0,1]->[1];[1,1,1,1,0]->[1];[1,1,1,0,0]->[1];[1,1,0,1,0]->[1];[1,1,1,1,1]->[1];[1,1,0,0,1]->[1];[1,0,0,1,1]->[1];[1,0,1,0,1]->[1];[1,0,1,1,0]->[1];END五、实验测试与仿真根据题目要求,可设输入分别为:0,0,0,0,0;1,1,1,1,1;1,0,1,0,0;0,1,0,1,1。
其测试程序如下所示:MODULE fivevoteA,B,C,D,E,F PIN;X=.X.;TEST_VECTORS([A,B,C,D,E]->[F])[0,0,0,0,0]->[X];[1,1,1,1,1]->[X];[1,0,1,0,0]->[X];[0,1,0,1,1]->[X];END测试仿真结果如图1.2所示:图1.2 五人表决器设计仿真图可知,设计基本符合题目要求。
聲附MU塞农程舉龜Zhengzhou In^lituleof Aeronautical Industry Management《EDA技术及应用》实验报告系部: _________________________指导教师:________________________学号:___________________________姓名:___________________________实验一点亮LED设计一、实验目的通过此实验让用户逐步了解、熟悉和掌握FPGA开发软件Quartusll的使用方法及Verilog HDL的编程方法。
本实验力求以详细的步骤和讲解让读者以最快的方式了解EDA技术开发以及软件的使用,从而快速入门并激起读者对EDA技术的兴趣。
二、实验内容SmartSOPC实验箱上有8个发光二极管LED1~8,并分别与FPGA的50、53~55、176和47~49引脚相连。
本实验的内容是建立可用于控制LED亮/灭的简单硬件电路,要求点亮SmartSOPC实验箱上的4个发光二极管(LED1、LED3、LED5 和LED7 )。
三、实验原理FPGA器件同单片机一样,为用户提供了许多灵活独立的输入/输出I/O 口(单元)。
FPGA每个I/O 口可以配置为输入、输出、双向I/O、集电极开路和三态门等各种组态。
作为输出口时,FPGA的I/O 口可以吸收最大为24mA的电流,可以直接驱动发光二极管LED等器件。
所以只要正确分配并锁定引脚后,在相应的引脚上输出低电平“0”就可以实现点亮该发光二级管的功能。
四、实验步骤1、启动Quarters II建立一个空白工程,命名为led_test.qpf。
然后分别建立图形设计文件,命名为led_test.bdf,以及文本编辑文件led1.v,将他们都添加进工程中。
2、对工程进行设计。
在led1.v中输入程序代码,并保存,进行综合编译,若在编译中发现错误,则找出并更正错误,直至编译成功为止。
EDA技术及应用实训报告
1.设计自动化技术
设计自动化技术(Design Automation)是一项将新科技与新技术结合在一起的实际工程学科,它将工程设计和制造过程的各个方面进行自动建模、自动仿真、自动集成,从而实现对制造技术的模拟和控制,实现优化系统设计和提高设计效率的目的。
设计自动化是达到设计自动化的途径之一,它强调了“从设计中抽象出规则、流程、模型和算法”,并对它们进行自动化,从而克服了手动设计中的过程繁琐、重复劳动的缺点,为设计师提供了更快、更准、更节劳的方法。
2、EDA技术
EDA(电子设计自动化)是在电子产品设计的整个流程中使用计算机软件和硬件工具来实现设计自动化的过程,也称之为电子产品设计自动化(EDA)。
EDA技术已经发展到成熟阶段,&&主要用于电路板设计、电路仿真、CAD/CAM设计、电路布线和测试等领域。
EDA技术与实践综合设计报告北华航天工业学院综合实践总结报告综合实践名称:EDA技术与实践年历日历设计综合实践地点、时间教十EDA实验室2014-2015-2学期第13~17周专业班级:13251姓名:李露陈泽东李泽宙学号:201310194 201310167 201310193指导教师姓名:薛瑞完成时间:2015 年 6 月20 日一、综合实践目的1.通过编写VHDL程序,结合硬件电路设计,实现年·月·日的计时功能。
同时将计时结果通过8个七段数码管显示,并可通过两个按键,对计数时钟的有关参数进行调整。
2.学会使用QUARTUSⅡ软件下载调试程序,用调试程序将学习板调试成功。
锻炼学生的动手能力以及提高学生的综合专业素质。
二、综合实践理论基础和核心内容根据系统的设计要求,计时电路可分为计日电路,计月电路,,计年电路等三个子模块,这三个子模块必须都具有预置,计数和进位功能,设计思想如下:(1)计日电路:将计时电路产生的进位脉冲信号作为计日电路的计数时钟信号,通过系统辨认,确定本月总天数X(包括28,29,30,31四种情况),待计数至X+1瞬间,进位,计月电路加1,而计日电路返回1重新开始计数。
(2)计月电路:将计日电路产生的进位脉冲信号作为计月电路的计时时钟信号,待计时至12瞬间,进位,计年电路加1,而计月电路返回1重新开始计数。
(3)计年电路:将计月电路产生的进位脉冲信号作为时钟计年电路的计数时钟信号,待计数至100瞬间,计年电路返回0重新开始计数。
(4)对于系统中的时间调整电路,拟通过模式和调整两个外部按件完成。
模式键负责切换正常时间计数模式和时间调整模式,调整键负责在时间调整模式之下,对当前模式的计数结果进行调整。
三、综合实践具体内容和记录(图、表或程序等)1·Tian程序(李露)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity tian isport(clk,a,b:in std_logic;t1:out std_logic_vector(3 downto 0);t2:out std_logic_vector(7 downto 4);cout:out std_logic);end tian;architecture one of tian issignal q1:std_logic_vector(3 downto 0);signal q2:std_logic_vector(7 downto 4);signal ab :std_logic_vector(1 downto 0);beginprocess(clk,a,b)beginif clk'event and clk='1' thenq1 <= q1+1;if q1 =9 then q1 <="0000";q2 <= q2+1;end if;ab <= a&b;case ab iswhen "00"=> --当ab=00时,yue输出31天if q2=3 and q1=1 then q2<="0000";q1<="0001";cout<='1';else cout <= '0';end if;when "01"=> --当ab=01时,yue输出30天if q2=3 and q1=0 then q2<="0000";q1<="0001";cout<='1';else cout <= '0';end if;when "10"=> --当ab=10时,yue输出28天if q2=2 and q1=8 then q2<="0000";q1<="0001";cout<='1';else cout <= '0';end if;when "11"=> --当ab=11时,yue输出29天if q2=2 and q1=9 then q2<="0000";q1<="0001";cout<='1';else cout <= '0';end if;when others=>null;end case;end if;end process;t1<=q1;t2<=q2;end one;仿真31天30天28天29天2·Yue程序(陈泽东)library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;entity yue isport(clk,run:in std_logic;y1:out std_logic_vector(3 downto 0);y2:out std_logic_vector(7 downto 4);a,b,cout:out std_logic);end yue;architecture one of yue issignal q1,q2:std_logic_vector(3 downto 0);signal q2q1:std_logic_vector(7 downto 0);beginprocess(clk,run)beginif clk'event and clk='1' then q1<=q1+1;if q1=9 then q1<=(others=>'0');q2<=q2+1;end if;if q2=1 and q1=2 thenq2<="0000";q1<="0001";cout<='1';else cout<='0';end if;end if;q2q1<=q2&q1;case q2q1 iswhen"00000001"=>a<='0';b<='0';--当为1月时,a=0 b=0 为31天when"00000010"=> if run='1' then a<='1';b<='1';else a<='1';b<='0'; end if; --当为2月时,如果是闰年a=1 b=1 为29天,否则a=1 b=0 为28天when"00000011"=>a<='0';b<='0';--当为3月时,a=0 b=0 为31天when"00000100"=>a<='0';b<='1'; --当为4月时,a=0 b=1 为30天when"00000101"=>a<='0';b<='0'; --当为5月时,a=0 b=0 为31天when"00000110"=>a<='0';b<='1'; --当为6月时,a=0 b=1 为30天when"00000111"=>a<='0';b<='0'; --当为7月时,a=0 b=0 为31天when"00001000"=>a<='0';b<='0'; --当为8月时,a=0 b=0 为31天when"00001001"=>a<='0';b<='1'; --当为9月时,a=0 b=1 为30天when"00010000"=>a<='0';b<='0'; --当为10月时,a=0 b=0 为31天when"00010001"=>a<='0';b<='1'; --当为11月时,a=0 b=1 为30天when"00010010"=>a<='0';b<='0'; --当为12月时,a=0 b=0 为31天when others=>null;end case;y1<=q1;y2<=q2;end process;end one;仿真3·Nian程序(李泽宙)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity nian isport (clk:in std_logic;n1,n2:out std_logic_vector(3 downto 0);run,cout:out std_logic);end nian;architecture one of nian issignal q1,q2,q3:std_logic_vector(3 downto 0);beginprocess(clk)beginif clk'event and clk='1'then --如果clk=1时,q1加1 q1<=q1+1;if q1=9 then q1<=(others=>'0'); --如果q1=9,q1清零,q2加1q2<=q2+1;end if;if q2=9 and q1=9 then q1<="0000"; --如果q1=9,q2=9,q1、q2清零,进位。
EDA实验报告完结版一、实验目的本次 EDA 实验的主要目的是通过实际操作和设计,深入理解和掌握电子设计自动化(EDA)技术的基本原理和应用。
具体而言,包括熟悉 EDA 工具的使用方法,学会运用硬件描述语言(HDL)进行逻辑电路的设计与描述,以及通过综合、仿真和实现等流程,将设计转化为实际的硬件电路,并对其性能进行评估和优化。
二、实验环境本次实验所使用的 EDA 工具为_____,该工具提供了丰富的功能模块和强大的设计支持,包括原理图编辑、HDL 代码编写、综合、仿真和下载等。
实验所使用的硬件平台为_____开发板,其具备多种接口和资源,便于对设计的电路进行实际验证和测试。
三、实验内容1、基本逻辑门电路的设计与实现使用 HDL 语言(如 Verilog 或 VHDL)设计常见的基本逻辑门电路,如与门、或门、非门等。
通过编写代码,对逻辑门的输入输出关系进行描述,并进行综合和仿真,验证设计的正确性。
2、组合逻辑电路的设计与实现设计并实现较为复杂的组合逻辑电路,如加法器、减法器、编码器、译码器等。
运用 HDL 语言描述电路的功能,进行综合和仿真,确保电路在各种输入情况下的输出结果符合预期。
3、时序逻辑电路的设计与实现设计常见的时序逻辑电路,如计数器、寄存器、移位寄存器等。
在设计过程中,考虑时钟信号、同步复位和异步复位等因素,通过仿真验证时序逻辑的正确性,并对电路的性能进行分析。
4、有限状态机(FSM)的设计与实现设计一个有限状态机,实现特定的功能,如交通信号灯控制器、数字密码锁等。
明确状态转移条件和输出逻辑,通过编写 HDL 代码实现状态机,并进行综合和仿真,验证其功能的准确性。
5、综合与优化对设计的电路进行综合,生成门级网表,并通过优化工具对电路进行面积、速度等方面的优化,以满足特定的设计要求。
6、硬件实现与测试将综合后的设计下载到硬件开发板上,通过实际的输入输出信号,对电路的功能进行测试和验证。
观察电路在实际运行中的表现,对出现的问题进行分析和解决。
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. 学生能理解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实验室2014-2015-2学期第11~13周专业班级:电气自动化姓名:学号:指导教师姓名:完成时间:2015 年 5 月19 日一、综合实践目的1.用给定IC设计、安装与调试彩灯控制2. 设计用十六只LED组成的彩灯图案,彩灯图案要有三种花型的变换,循环往复。
3. 要具有清零开关。
4. 彩灯图案状态变换的速度至少有快、慢两种。
5. 安装并调试彩灯控制器。
二、综合实践理论基础和核心内容1. 时序控制模块:将输入时钟信号改为两个不同频率的输出时钟信号,从而实现分频器的功能。
借此控制彩灯以快慢两种不同的频率进行闪烁。
2. 显示控制模块:显示控制模块是整个设计的核心 ,它负责整个设计的输出效果即各种彩灯图案的样式变化。
该程序充分地说明了用 VHDL设计电路的“弹”性 ,即可通过改变程序中输出变量 Q 的位数来改变彩灯的数目。
其中 ,P1进程对灯闪的速度控制有两种方式可改变灯闪的速度:一是改变外部时钟的赋值 ,二是改变信号U 的位数。
P2进程能进行彩灯的图案控制 ,改变 s的位数即可改变要控制图案的数目 ,改变输出变量 Q 的组合即可变幻彩灯图案。
三、综合实践具体内容和记录(图、表或程序等)1. 程序:时序控制模块:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sxkz isport(chose_key:in std_logic;clk_in:in std_logic;clr:in std_logic;clk:out std_logic);end entity sxkz;architecture art of sxkz issignal cllk:std_logic;beginprocess(clk_in,clr,chose_key)isvariable temp:std_logic_vector(2 downto 0);beginif clr='1'thencllk<='0';temp:="000";elsif rising_edge(clk_in)thenif chose_key='1'thenif temp="011"thentemp:="000";cllk<=not cllk;elsetemp:=temp+'1';end if;elseif temp="111"thentemp:="000";cllk<=not cllk;elsetemp:=temp+'1';end if;end if;end if;end process;end process;clk<=cllk;仿真图:2.程序:显示控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XSKZ ISPORT(CLK:IN STD_LOGIC;CLR:IN STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0));END ENTITY XSKZ;ARCHITECTURE ART OF XSKZ ISTYPE STATE IS(S0,S1,S2,S3,S4,S5,S6,s7,s8,s9,s10,s11,s12,s13); SIGNAL CURRENT_STATE:STATE;SIGNAL FLOWER:STD_LOGIC_VECTOR(15 DOWNTO 0); BEGINPROCESS(CLR,CLK)ISCONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):="0001000100010001"; CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):="0010001000100010"; CONSTANT F3:STD_LOGIC_VECTOR(15 DOWNTO 0):="0100010001000100"; CONSTANT F4:STD_LOGIC_VECTOR(15 DOWNTO 0):="1000100010001000"; CONSTANT F5:STD_LOGIC_VECTOR(15 DOWNTO 0):="1111111111111111"; CONSTANT F6:STD_LOGIC_VECTOR(15 DOWNTO 0):="1100100111001001"; CONSTANT F7:STD_LOGIC_VECTOR(15 DOWNTO 0):="0010010000100100"; CONSTANT F8:STD_LOGIC_VECTOR(15 DOWNTO 0):="0001001000010010"; CONSTANT F9:STD_LOGIC_VECTOR(15 DOWNTO 0):="1111111111111111"; CONSTANT F10:STD_LOGIC_VECTOR(15 DOWNTO 0):="0001100000011000"; CONSTANT F11:STD_LOGIC_VECTOR(15 DOWNTO 0):="0011110000111100"; CONSTANT F12:STD_LOGIC_VECTOR(15 DOWNTO 0):="0111111001111110"; CONSTANT F13:STD_LOGIC_VECTOR(15 DOWNTO 0):="1111111111111111"; BEGINIF CLR='1' THENFLOWER<="0000000000000000";ELSIF RISING_EDGE(CLK) THENCASE CURRENT_STATE ISWHEN S0=>FLOWER<="0000000000000000";CURRENT_STA TE<=S1;WHEN S1=>FLOWER<=F1;CURRENT_STA TE<=S2;WHEN S2=>FLOWER<=F2;CURRENT_STA TE<=S3;WHEN S3=>FLOWER<=F3;CURRENT_STA TE<=S4;WHEN S4=>FLOWER<=F4;CURRENT_STA TE<=S5;WHEN S5=>FLOWER<=F5;CURRENT_STA TE<=S6;WHEN S6=>FLOWER<=F6;CURRENT_STA TE<=S7; WHEN S7=>FLOWER<=F7;CURRENT_STA TE<=S8; WHEN S8=>FLOWER<=F8;CURRENT_STA TE<=S9; WHEN S9=>FLOWER<=F9;CURRENT_STA TE<=S10; WHEN S10=>FLOWER<=F10;CURRENT_STA TE<=S11; WHEN S11=>FLOWER<=F11;CURRENT_STA TE<=S12; WHEN S12=>FLOWER<=F12;CURRENT_STA TE<=S13; WHEN S13=>FLOWER<=f13;CURRENT_STA TE<=S1;END CASE;END IF;END PROCESS;LED<=FLOWER;END ARCHITECTURE ART;仿真图:3. 整个电路系统部分程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CDKZQ ISPORT(CLK_IN:IN STD_LOGIC;CLR:IN STD_LOGIC;CHOSE_KEY:IN STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)); END ENTITY CDKZQ;ARCHITECTURE ART OF CDKZQ IS COMPONENT SXKZ ISPORT(CHOSE_KEY:IN STD_LOGIC;CLK_IN:IN STD_LOGIC;CLR:IN STD_LOGIC;CLK:OUT STD_LOGIC);END COMPONENT SXKZ;COMPONENT XSKZ ISPORT(CLK:IN STD_LOGIC;CLR:IN STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0));END COMPONENT XSKZ;SIGNAL S1:STD_LOGIC;BEGINU1:SXKZ PORT MAP(CHOSE_KEY,CLK_IN,CLR,S1);U2:XSKZ PORT MAP(S1,CLR,LED);END ART;仿真图:四、综合实践总结及分析1. 在彩灯控制器这个课题中需要注意的是不同花型之间的相互循环及频率的控制。
其次在调试的时候需要注意周期的选择。
这样才会出现合适的花型。
2. 用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。
应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。
通过使用EDA编程既方便有快捷的实现了程序本次设计的程序已经在硬件系统上得到了验证,实验表明,此设计方法能够满足多种不同花样彩灯的变化要求,并且该方法便于扩展不同变化模式的彩灯花。
五、综合实践所需仪器设备(1)CPLD/FPGA适配器接口,8×2LED灯六、参考资料[1] 罗英伟1Agent及基于空间信息的辅助决策[J]. 计算机辅助计及图形学学报,2001,13 (7) :667-671.[2] 沈明山可编程器件EDA技术与实践[3]亢锐,叶青,范全义1基于Multi-agent 技术的Internet信息挖研究[J]. 计算机工程,2001,27 (2) :107-109.成绩评定表年月日。