《EDA实验报告.docx》由会员分享,可在线阅读,更多相关《EDA实验报告.docx(9页珍藏版)》请在三一办公上搜索。
1、EDA实验报告实验1 4选1数据选择器的设计 一、实验目的 1学习EDA软件的基本操作。 2学习使用原理图进行设计输入。 3初步掌握器件设计输入、编译、仿真和编程的过程。 4学习实验开发系统的使用方法。 二、实验仪器与器材 1EDA开发软件 一套 2微机 一台 3实验开发系统 一台 4打印机 一台 三、实验说明 本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。 本实验使用Quartus II 软件作为设计工具,要求熟悉Q
2、uartus II 软件的使用环境和基本操作,如设计输入、编译和适配的过程等。 实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。学会管脚锁定以及编程下载的方法等。 四、实验要求 1完成4选1数据选择器的原理图输入并进行编译; 2对设计的电路进行仿真验证; 3编程下载并在实验开发系统上验证设计结果。 五、实验结果 4选1数据选择器的原理图: 仿真波形图: 管脚分配: 实验2 四位比较器 一、实验目的 1设计四位二进制码比较器,并在实验开发系统上验证。 2学习层次化设计方法。 二、实验仪器与器材 1E
3、DA开发软件 一套 2微机 一台 3实验开发系统 一台 4打印机 一台 5其它器件与材料 若干 三、实验说明 本实验实现两个4位二进制码的比较器,输入为两个4位二进制码A3A2A1A0和,G和L。用高低电平开关作B3B2B1B0,输出为M为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。 四、实验要求 1用硬件描述语言编写四位二进制码 A3 G 比较器的源文件; A2 A1 2对设计进行仿真验证; M 3编程下载并在实验开发系统上进行 A0 COMP4 硬件验证。 B3 B2 L B1 B0 四位比较器功能框图 五、实验结果 四位比较器VHDL源文件: library
4、ieee; use ieee.std_logic_1164.all; entity comp4 is port( A3,A2,A1,A0: in std_logic; B3,B2,B1,B0: in std_logic; G,M,L: out std_logic); end comp4; architecture behave of comp4 is begin p1: process(A3,A2,A1,A0,B3,B2,B1,B0) variable comb1,comb2: std_logic_vector(3 downto 0); begin comb1:=A3&A2&A1&A0; co
5、mb2:=B3&B2&B1&B0; if(comb1com2) then G=1; M=0; L=0; elsif(comb1comb2) then M=1; G=0; L=0; else L=1; G=0; M=0; end if; end process p1; end behave; 仿真波形图: 管脚分配: 试验3 并行加法器设计 一、试验目的 1.设计一个4位加法器。 2.体会用VHDL进行逻辑描述的优点。 3,熟悉层次化设计方法。 二、试验仪器与器材 1.EDA开发软件 一套 2.微机 一台 3.试验开发系统 一台 4.打印机 一台 5.其他器材和材料 若干 三、试验说明 本试验实
6、现一个4位二进制数加法器,其功能框图如图所示。试验时用高低电平开关作为输入,用数码管作为输出,管脚锁定可根据试验系统自行安排。 a3 a2 a1 a0 b3 b2 b1 b0 ci 全加器功能框图 四、实验要求 1用硬件描述语言编写4位二进制数全加器的源文件; 2对设计文件进行编译; 3仿真设计文件; 4编程下载并进行试验验证。 五、试验结果 4位二进制全加器的源文件: library ieee; use ieee.std_logic_1164.all; entity adder4 is port(a,b: in std_logic_vector(3 downto 0); cin: in st
7、d_logic_vector(3 downto 0); sum: out std_logic_vector(3 downto 0); adder4 s3 s2 s1 s0 co count: out std_logic); end adder4; architecture behavioral of adder4 is begin p1:process(a,b,cin) variable vsum: std_logic_vector(3 downto 0); variable carry: std_logic; begin carry:=cin; for i in 0 to 3 loop vs
8、um(i):=(a(i) xor b(i) xor carry; carry:=(a(i) and b(i) or (carry and (a(i) or b(i); end loop; sum=vsum; count=carry; end process p1; end behavioral; 仿真波形图: 管脚分配: 实验4 计数器设计 一、实验目的 计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。 二、实验仪器与器材 1EDA开发软件 一套 2微机 一台 3实验开发系统 一台 4打印机 一台 5其他器材与材料 若干 三、实验说明 计
9、数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。 四、实验要求 1设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。 2编制仿真测试文件,并进行功能仿真。 3下载并验证计数器功能。 4为上述设计建立元件符号。 5在上述基础上分别设计按8421BCD码和二进制计数的100进制同步计数器。 五、实验结果 十进制计数器程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity co
10、unter10 is port(en,reset,clk:in std_logic; q:buffer std_logic_vector(3 downto 0); co:out std_logic); end counter10; architecture behav of counter10 is begin process(clk,en) begin if clkevent and clk=1 then if reset=1 then q=0000; elsif en=1 then if q1001 then q=q+1; else q=0000; end if; end if; end
11、if; end process; cooutsignoutsignoutsignoutsignoutsignoutsignoutsignoutsignoutsignoutsignoutsign=1111111; end case; end process; end behave ; 100进制计数器原理图: 仿真波形图: 管脚分配: 实验5 巴克码发生器 一、实验目的 1实现一个在通信领域中经常使用的巴克码发生器。 2掌握用大规模可编程逻辑器件实现时序电路的方法。 二、实验仪器与器材 1EDA开发软件 一套 2微机 一台 3实验开发系统 一台 4打印机 一台 5其它器件与材料 若干 三、实验说
12、明 巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。它能自动产生周期性的序列码。本实验要求产生的序列码信号为,可以用寄存器或同步时序电路实现。为了能够通过实验开发系统验证试验结果,可以使用两个输入端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。巴克码发生器的功能框图如图所示。 四、实验要求 1写出全部设计文件。 2编写测试向量,进行功能仿真。 3下载并用实验板验证。 五、实验结果 巴克码发生器程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logi
13、c_unsigned.all; entity back is port(clk,reset:in std_logic; dout1,dout2:out std_logic); end back; architecture behave of back is signal count7:integer range 0 to 6; begin process(clk,reset) begin if reset=1 then count7=0; elsif clkevent and clk=1 then if count76 then count7=count7+1; else count7=0; end if; end if; dout2dout1dout1dout1dout1dout1dout1dout1dout1=0; end case; end process; end behave; 仿真波形图: 管脚分配: