文档详情

EDA实验报告实验二:ALU的设计.doc

发布:2017-12-17约1.78千字共3页下载文档
文本预览下载声明
实验二:基本组合电路设计 ALU的设计 实验报告 预习内容 结合教材中的介绍熟悉Quartus Ⅱ软件的使用及设计流程; ALU设计原理; 对应的VHDL 代码源程序。 二、实验目的 图形设计方法 二、实验目的 掌握文本输入设计方法; 熟悉QuartusⅡ软件的使用及设计流程; 掌握ALU原理,能进行ALU的设计。 三、实验器材 实验器材 PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干 四、实验要求 1、用文本输入法设计一个ALU; 2、用波形编辑工具生成一个ALU的测试向量(即测试数据); 3、完成ALU的时序仿真。 五、实验原理与内容 1、原理: ALU是数字系统中的基本逻辑器件,其可以执行算术运算和逻辑运算操作的电路。该电路用信号sel的最高位来选择输出哪一种运算结果,sel最高位选择输出哪一种运算。 实验表明,ALU可用多种方式实现,因此本实验中的ALU可采用 WITH/SELECT语句方法生成。 2、实现框图: 用 WITH/SELECT语句方法实现的 ALU框图如图1-1所示: 图1-1 六、实验步骤 用文本输入法设计一个ALU 对最后的顶层文件进行编译、仿真和下载; 七、实验报告 1、写出实验源程序,并附上综合结果和仿真波形; LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY ALU IS PORT (a,b: IN STD_LOGIC_VECTOR(7 DOWNTO 0); sel: IN STD_LOGIC_VECTOR(3 DOWNTO 0); cin: IN STD_LOGIC; y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ALU; ARCHITECTURE dataflow OF ALU IS SIGNAL arith, logic: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN WITH sel (2 DOWNTO 0) SELECT arith= a WHEN ?00本”, a+1 WHEN “001”, a-1 WHEN “010”, b WHEN “011”, b+1 WHEN “100”, b-1 WHEN “101”, a+b WHEN “110”, a+b+cin WHEN OTHERS; WITH sel (2 DOWNTO 0) SELECT logic = NOT a WHEN “000”, NOT b WHEN “001”, a AND b WHEN “010”, a OR b WHEN “011”, a NAND b WHEN “100”, a NOR b WHEN “101”, a XOR b WHEN “110”, NOT (a XOR b) WHEN OTHERS; WITH sel (3) SELECT y= arith WHEN ‘0’, logic WHEN OTHERS; END dataflow; 2、分析实验结果; 本次实验的结果符合本次试验的目的,符合ALU的各种执行结果。采用时序仿真时由于加入了延时文件和串扰等因素,但结果基本正确。 3、心得体会―― 通过本次实验熟悉并掌握了quartusII的基本应用,比较熟练的掌握了其操作的各个步骤。也更好的理解了ALU的基本原理等知识。但不足的是本实验中出现了一些错误,在几番调试后终于得以解决,这要感谢同学的帮助。以后对本软件的使用要更加勤奋认真,对VHDL编程要多加练习,只有这样才能更好的学好这门课。 逻辑单元 算术单元 多路复用器 sel(3:0) cin b(7:0) a(7:0) y(7:0) sel(3) ()
显示全部
相似文档