电子设计自动化实验报告电子设计自动化实验报告实验14选1数据选择器的设计1.1实验目的1.学习EDA软件的基本操作。2.学习使用原理图进行设计输入。3.初步掌握器件设计输入、编译、仿真和编程的过程。4.学习实验开发系统的使用方法。1.2实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台1.3实验说明本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的基本过程。实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。本实验使用QuartusII软件作为设计工具,要求熟悉或QuartusII软件的使用环境和基本操作,如设计输入、编译和适配的过程等。实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。学会管脚锁定以及编程下载的方法等。1.4实验要求1.完成4选1数据选择器的原理图输入并进行编译;2.对设计的电路进行仿真验证;3.编程下载并在实验开发系统上验证设计结果。1.5实验报告要求1.画出编译通过后的原理图;2.绘出仿真波形图;3.管脚分配情况。1.6实验报告内容:1、编译通过后的原理图:2、仿真波形图:在实验室遇到波形的功能仿真报错问题,解决问题后在自己电脑上仿真波形如上。3、管脚分配情况列表:d0:SW2PIN_P25d1:SW3PIN_AE14d2:SW4PIN_AF14d3:SW5PIN_AD13o:LEDR0PIN_AE23s0:SW0PIN_N25s1:SW1PIN_N264、生成符号图:实验2四位比较器2.1实验目的1.设计四位二进制码比较器,并在实验开发系统上验证。2.学习文本输入HDL文件的设计方法。2.2实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台2.3实验说明本实验实现两个4位二进制码的比较器(功能框图如右图),输入为两个4位二进制码A3A2A1A0和B3B2B1B0,输出为M(A=B),G(AB)和L(AB)(见图3.1)。用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据实验系统的实际情况自行定义。2.4实验要求1.用硬件描述语言编写4位二进制码比较器的源文COMP4GMLA3A2A1A0B3B2B1B0件;2.对设计进行仿真验证;3.编程下载并在实验开发系统上进行硬件验证。2.5实验报告要求1.写出比较器的HDL源文件;2.写出仿真结果;3.管脚分配情况。2.6实验报告内容:1、比较器的VHDL源文件:libraryieee;useieee.std_logic_1164.all;entitymy_compareisport(A3,A2,A1,A0:instd_logic;B3,B2,B1,B0:instd_logic;G,M,L:outstd_logic);endmy_compare;architecturebehaveofmy_compareisbeginp1:process(A3,A2,A1,A0,B3,B2,B1,B0)variablecomb1,comb2:std_logic_vector(3downto0);begincomb1:=A3&A2&A1&A0;comb2:=B3&B2&B1&B0;if(comb1comb2)thenG='1';M='0';L='0';elsif(comb1comb2)thenM='0';G='0';L='1';elseL='0';G='0';M='1';endif;endprocessp1;endbehave;编译:2、功能仿真波形:3、管脚分配情况:A3:SW7PIN_C13A2:SW6PIN_AC13A1:SW5PIN_AD13A0:SW4PIN_AF14B3:SW3PIN_AE14B2:SW2PIN_P25B1:SW1PIN_N26B0:SW0PIN_N25G:LEDR2PIN_AB21M:LEDR1PIN_AF23L:LEDR0PIN_AE23实验3并行加法器设计3.1实验目的1.设计一个4位加法器。2.体会用HDL进行逻辑描述的优点。3.2实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台5.其他器件与材料若干3.3实验说明本实验实现一个4位二进制数加法器,其功能框图如图8.2所示。实验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据实验系统自行安排。图8.2全加器功能框图3.4实验要求1.用硬件描述语言编写4位二进制数全加器的源文件;2.对设计文件进行编译;3.仿真设计文件。4.编程下载并进行实验验证。3.5实验报告要求1.写出全加器的HDL源文件;2.写出仿真和硬件测试结果;3.管脚分配情况。3.6实验报告内容:1、全加器的VHDL源文件:libraryieee;useieee.std_logic_1164.all;entityadder4isport(a,b:instd_logic_vector(3downto0);cin:instd_logic_vector(3downto0);sum:outstd_logic_vector(3downto0);count:outstd_logic);endadder4;architecturebehaveofadder4isbeginp1:process(a,b,cin)variablevsum:std_logic_vector(3downto0);variablecarry:std_logic;begincarry:=cin(0);foriin0to3loopvsum(i):=(a(i)xorb(i))xorcarry;carry:=(a(i)andb(i))or(carryand(a(i)orb(i)));endloop;sum=vsum;count=carry;endprocessp1;endbehave;编译:2.、功能仿真波形和硬件测试结果:硬件测试:硬件测试正常,实现全加器逻辑。4、管脚分配情况:a[3]:SW7PIN_C13a[2]:SW6PIN_AC13a[1]:SW5PIN_AD13a[0]:SW4PIN_AF14b[3]:SW3PIN_AE14b[2]:SW2PIN_P25b[1]:SW1PIN_N26b[0]:SW0PIN_N25sum[3]:LEDR3PIN_AC22sum[2]:LEDR2PIN_AB21sum[1]:LEDR1PIN_AF23sum[0]:LEDR0PIN_AE23cin:SW17PIN_V2count:LEDG7PIN_Y18实验4计数器设计4.1实验目的计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。4.2实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台5.其他器件与材料若干4.3实验说明计数器是数字电路系统中最基本的功能模块之一,设计时可以采用原理图或HDL语言完成。下载验证时的计数时钟可选用连续或单脉冲,并用数码管显示计数值。4.4实验要求1.设计一个带有计数允许输入端、复位输入端和进位输出端的10进制计数器。2.编制仿真测试文件,并进行功能仿真。3.下载并验证计数器功能。4.为上述设计建立元件符号。5.选做:在上述基础上设计按8421BCD码计数的100进制同步计数器。4.5实验报告要求1.画出原理图或写出HDL语言源文件。2.打印仿真波形。3.管脚分配情况。4.6实验报告内容:1、VHDL语言描述:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitymy_countisport(en,reset,clk:instd_logic;q:bufferstd_logic_vector(3downto0);co:outstd_logic);endmy_count;architecturebehaveofmy_countisbeginprocess(clk,en)beginifclk'eventandclk='1'thenifreset='1'thenq=0000;elsifen='1'thenifq1001thenq=q+'1';elseq=0000;endif;endif;endif;endprocess;co='1'whenq=1001else'0';endbehave;编译:2、仿真波形:四线七线译码器:libraryieee;useieee.std_logic_1164.all;entitydecoder4_7isport(insign:instd_logic_vector(3downto0);outsign:outstd_logic_vector(6downto0));enddecoder4_7;architecturebehaveofdecoder4_7isbeginprocess(insign)begincaseinsigniswhen0000=outsign=0000001;when0001=outsign=1001111;when0010=outsign=0010010;when0011=outsign=0000110;when0100=outsign=1001100;when0101=outsign=0100100;when0110=outsign=1100000;when0111=outsign=0001111;when1000=outsign=0000000;when1001=outsign=0001100;whenothers=outsign=1111111;endcase;endprocess;endbehave;1、编译:2、仿真:十进制计数器:1、原理图:2、仿真波形:3、管脚分配情况:clkKEY[2]PIN_P23enSW1PIN_N26resetSW0PIN_N25coLEDG[7]PIN_Y18outsign[0]HEX0[0]PIN_AF10outsign[1]HEX0[1]PIN_AB12outsign[2]HEX0[2]PIN_AC12outsign[3]HEX0[3]PIN_AD11outsign[4]HEX0[4]PIN_AE11outsign[5]HEX0[5]PIN_V14outsign[6]HEX0[6]PIN_V134、生成符号图:百进制计数器:1、原理图:2、仿真波形:3、管脚分配情况:clkKEY[2]PIN_P23enSW1PIN_N26resetSW0PIN_N25ql[0]HEX0[0]PIN_AF10ql[1]HEX0[1]PIN_AB12ql[2]HEX0[2]PIN_AC12ql[3]HEX0[3]PIN_AD11ql[4]HEX0[4]PIN_AE11ql[5]HEX0[5]PIN_V14ql[6]HEX0[6]PIN_V13qh[0]HEX1[0]PIN_V20qh[1]HEX1[1]PIN_V21qh[2]HEX1[2]PIN_W21qh[3]HEX1[3]PIN_Y22qh[4]HEX1[4]PIN_AA24qh[5]HEX1[5]PIN_AA23qh[6]HEX1[6]PIN_AB24coLEDG[7]PIN_Y184、生成符号图:实验5巴克码发生器5.1实验目的1.实现一个在通信领域中经常使用的巴克码发生器。2.掌握用大规模可编程逻辑器件实现时序电路的方法。5.2实验仪器与器材1.EDA开发软件一套2.微机一台3.实验开发系统一台4.打印机一台5.其他器件与材料若干5.3实验说明巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。它能自动产生周期性的序列码。本实验