EDA_组合逻辑电路的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

xxxxx大学信息工程学院实验报告

课程名称: CPLD/FPGA 应用开发技术

实验名称:组合逻辑电路的设计

实验类型:验证性□ 综合性□ 设计性■实验室名称:信息学院机房

班级:学号:

姓名:组别:

同组人:成绩:

实验日期: 2010年6月29日

预习报告

一、实验目的:

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 pan4_5 is

port(d: in std_logic_vector(3 downto 0); y: out std_logic);

end pan4_5;

architecture beha of pan4_5 is

signal datain:integer;

begin datain<=conv_integer(d); process

begin

if (datain>=5) then

y<='1';

else

y<='0';

end if;

end process;

end beha;

仿真结果:

结果分析:

由上图分析可知,d3,d2,d1,d0 表示又BCD码表示的一位的十进制数。当d3,d2,d1,d0分别设为0110,转化为十进制数为6,(6>5)。则输出y为1。其他可以此类推得出结论。

2、用VHDL 语言输入法设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮;

断任一开关,灯灭

程序清单:

library ieee;

use ieee.std_logic_1164.all; entity dd is

port (a,b,c,d: in std_logic; clk: in std_logic;

y:out std_logic);

end dd;

architecture beha of dd is signal q:std_logic;

begin

process(clk)

begin

if(clk'event and clk='1')then

if(a='1')or(b='1')or(c='1')or(d='1')the n

q<=not q;

end if ;

end if ;

end process;

y<=q;

end beha;

仿真结果:

结果分析:

由上图易得出:在时钟上升沿前有高电平,则输出结果翻转。代表若4个开关中有一个状态变化,则灯的状态也发生改变。

3、用VHDL 语言输入法设计一个优先权排队电路。排队顺序为:

A=1 最高优先级

B=1 次高优先级

C=1 最低优先级

要求输出端最高只能有一端为“1”, 即只能是优先级较高的输入端所对应的输出端为“1”。 程序代码:

library ieee; use ieee.std_logic_1164.all; entity paidui is port(din: in std_logic_vector(2 downto 0); dout: out std_logic_vector(2 downto 0)); end paidui; architecture beha of paidui is begin process(din) begin

case din is

when "000"=> dout<="000"; when "001"=> dout<="001";

when "010"=> dout<="010";

when "011"=> dout<="010";

when others=> dout<="100";

end case;

end process;

end beha;

仿真结果:

结果分析:

当输入为102(5)(101)=,即A=1,输出2(100)4=。当输入为102(3)(011)=,即,A=0,B=1。输出为2(010)2=。同理当输入为2时,输出也为2。实现了优先排队的功能。

相关文档
最新文档