EDA组合逻辑电路的设计
信息工程学院
实 验 报
课程名称:CPLD/FPGA 应用开发技术 实验名称:组合逻辑电路的设计 实验类型: 验证性 ■ 综合性 □
告
设计性 □
预习报告
一、实验目的:
1、掌握用VHDL 语言和EPLD 进行组合逻辑电路的设计方法。 2、加深对EPLD 设计全过程的理解。 3、掌握组合逻辑电路的静态测试方法。 二、实验设备:
1、PC 机
2、EDA 实验箱(主芯片是ALTERA EPM7128SLC84-15)。 三、实验内容:
1、用VHDL 语言输入法设计一个四舍五入判别电路,其输入为8421BCD 码,要求当 输入大于或等于5 时,判别电路输出为1;反之为0。
2、用VHDL 语言输入法设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮;
断任一开关,灯灭。
3、用VHDL 语言输入法设计一个优先权排队电路。排队顺序为: A=1 最高优先级 B=1 次高优先级 C=1 最低优先级
要求输出端最高只能有一端为“1”, 即只能是优先级较高的输入端所对应的输出端 为“1”。 四、实验步骤:
1、采用文本编辑器输入VHDL 语言源程序,建立工程。 2、编译。 3、仿真。
4、对芯片进行编程。 5、根据管脚分配情况连线。
(1) 四舍五入判别电路的四个输入管脚分别与四个拨码开关相连,输出数据与 LED 灯相连。
(2) 开关控制电路的四个输入管脚分别与四个按键开关相连,输出管脚与LED 灯相连。
(3) 优先权排队电路的A、B、C 三个信号分别连三个按键开关,三个输出信号 分别连三个LED 灯相连。
6、控制输入信号(按键或拨码开关), 观察电路输出(LED 灯的亮与灭)。 五、实验报告要求:
1、给出电路的VHDL 描述、仿真结果。 2、说明波形图中输入数据的给定依据。
3、说明物理连线情况以及物理连线与编译时进行管脚分配有何关系?
实验报告成绩: 指导教师审核(签名): 年 月 日
实验报告
一、实验结果分析:
1.用VHDL 语言输入法设计一个四舍五入判别电路,其输入为8421BCD 码,要求当 输入大于或等于5 时,判别电路输出为1;反之为0。 程序清单:
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity p4_5 is
port(d: in std_logic_vector(3 downto 0);
y: out std_logic); end p4_5;
architecture beha of p4_5 is signal datain:integer;
begin
datain
if (datain>=5) then y
end process; end beha;
仿真结果:
分析:当d
2、用VHDL 语言输入法设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮; 断任一开关,灯灭 程序清单: library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; entity vvsd is
port(a: in std_logic_vector(3 downto 0); y: out std_logic); end vvsd;
architecture zhu of vvsd is begin
y
end zhu;
仿真结果:
分析:由图可知当a0,a1,a2,a3某个改变状态时,y值也随着改变。
3、用VHDL 语言输入法设计一个优先权排队电路。排队顺序为:
A=1 最高优先级 B=1 次高优先级 C=1 最低优先级
要求输出端最高只能有一端为“1”, 即只能是优先级较高的输入端所对应的输出端为“1”。程序清单: library ieee;
use ieee.std_logic_1164.all; entity yxq is
port(x: in std_logic_vector(2 downto 0); y: out std_logic_vector(2 downto 0)); end yxq;
architecture shi of yxq is begin
process(x) begin
if (x(0)='1') then y
end shi;
仿真结果:
分析:当X0=1时 Y=“100”,当X0不等于1且X1=1时 Y=“010”,其他情况
Y=“001”.