EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)_第1页
EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)_第2页
EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)_第3页
EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)_第4页
EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验1 4选1数据选择器的设计一、实验目的 1学习EDA软件的基本操作。 2学习使用原理图进行设计输入。 3初步掌握器件设计输入、编译、仿真和编程的过程。 4学习实验开发系统的使用方法。二、实验仪器与器材 1EDA开发软件 一套 2微机 一台 3实验开发系统 一台 4打印机 一台三、实验说明本实验通过使用基本门电路完成4选1数据选择器的设计,初步掌握EDA设计方法中的设计输入、编译、综合、仿真和编程的过程。实验结果可通过实验开发系统验证,在实验开发系统上选择高、低电平开关作为输入,选择发光二极管显示输出电平值。本实验使用Quartus II 软件作为设计工具,要求熟悉Quartus II 软件

2、的使用环境和基本操作,如设计输入、编译和适配的过程等。实验中的设计文件要求用原理图方法输入,实验时,注意原理图编辑器的使用方法。例如,元件、连线、网络名的放置方法和放大、缩小、存盘、退出等命令的使用。学会管脚锁定以及编程下载的方法等。四、实验要求 1完成4选1数据选择器的原理图输入并进行编译; 2对设计的电路进行仿真验证; 3编程下载并在实验开发系统上验证设计结果。五、实验结果 4选1数据选择器的原理图:仿真波形图:管脚分配: 实验2 四位比较器一、实验目的 1设计四位二进制码比较器,并在实验开发系统上验证。 2学习层次化设计方法。二、实验仪器与器材 1EDA开发软件 一套 2微机 一台 3实

3、验开发系统 一台 4打印机 一台 5其它器件与材料 若干三、实验说明本实验实现两个4位二进制码的比较器,输入为两个4位二进制码和,输出为M(A=B),G(A>B)和L(A<B)(如图所示)。用高低电平开关作为输入,发光二极管作为输出,具体管脚安排可根据试验系统的实际情况自行定义。四、实验要求GCOMP4 1用硬件描述语言编写四位二进制码比较器的源文件;M 2对设计进行仿真验证; 3编程下载并在实验开发系统上进行硬件验证。L 四位比较器功能框图 五、实验结果四位比较器VHDL源文件:library ieee;use ieee.std_logic_1164.all;entity com

4、p4 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 isbeginp1: process(A3,A2,A1,A0,B3,B2,B1,B0) variable comb1,comb2: std_logic_vector(3 downto 0); begin comb1:=A3&A2&A1&A0;comb2:=B3&B2&B1&B0;if(comb1&

5、gt;com2) then G<=1; M<=0; L<=0; elsif(comb1<comb2) 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、试验说明a3本试验实现一个4位二进制数加法器,其功能框图如图所示。试验时用高低电平开关作为输入,用数码管作为输出(或用发光二极管),管脚锁定可根据试验系统自行安排。adder4a2a1a0b3b2b1b0cis3s2s1s0co全加器功能框图四、实验要求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

7、); cin: in std_logic_vector(3 downto 0); sum: out std_logic_vector(3 downto 0); count: out std_logic);end adder4;architecture behavioral of adder4 isbeginp1:process(a,b,cin) variable vsum: std_logic_vector(3 downto 0); variable carry: std_logic; begincarry:=cin;for i in 0 to 3 loop vsum(i):=(a(i) xo

8、r 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 counter10 isport(en,reset,clk:in std

10、_logic;q:buffer std_logic_vector(3 downto 0);co:out std_logic);end counter10;architecture behav of counter10 isbegin process(clk,en) begin if clk'event and clk='1' then if reset='1' then q<="0000" elsif en='1' then if q<"1001" then q<=q+'1

11、' else q<="0000" end if; end if; end if; end process; co<='1' when q="1001" else '0'end behav;仿真波形图:管脚分配:4_7译码器程序:library ieee;use ieee.std_logic_1164.all;entity decoder4_7 is port( insign: in std_logic_vector (3 downto 0); outsign: out std_logic_vector

12、(6 downto 0); end decoder4_7;architecture behave of decoder4_7 is begin process(insign) begin case insign is when"0000"=>outsign<="0000001" when "0001"=>outsign<="1001111" when "0010"=>outsign<="0010010" when "0011&qu

13、ot;=>outsign<="0000110" when "0100"=>outsign<="1001100" when "0101"=>outsign<="0100100" when "0110"=>outsign<="1100000" when "0111"=>outsign<="0001111" when "1000"=>ou

14、tsign<="0000000" when "1001"=>outsign<="0001100" when OTHERS=>outsign<="1111111" end case; end process; end behave ;100进制计数器原理图:仿真波形图:管脚分配: 实验5 巴克码发生器一、实验目的1实现一个在通信领域中经常使用的巴克码发生器。2掌握用大规模可编程逻辑器件实现时序电路的方法。二、实验仪器与器材1EDA开发软件 一套2微机 一台3实验开发系统 一台4打印机 一

15、台5其它器件与材料 若干三、实验说明巴克码发生器在数据通信、雷达和遥控领域有相当广泛的应用。它能自动产生周期性的序列码。本实验要求产生的序列码信号为(1110010),可以用寄存器或同步时序电路实现。为了能够通过实验开发系统验证试验结果,可以使用两个输入端,其中一个输出端同时输出巴克码,另一个输出端输出节拍。巴克码发生器的功能框图如图所示。四、实验要求1写出全部设计文件。2编写测试向量,进行功能仿真。3下载并用实验板验证。五、实验结果巴克码发生器程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;us

16、e ieee.std_logic_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 clk'event and clk='1' then if count7<6 then count7<=count7+1; else count7<=0; end if; end if; dout2<=clk; end process; process(count7) begin case count7 is when 0=>dout1<='1' when 1=>dout1&l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论