当前位置:文档之家› 常用组合逻辑电路设计

常用组合逻辑电路设计

常用组合逻辑电路设计
常用组合逻辑电路设计

实 验 报 告

实验日期: 学 号:

姓 名:

实验名称:

常用组合逻辑电路设计 总 分:

一、实验目的

学习常用组合逻辑电路的可中和代码编写,学习并熟悉VHDL 编程思想与调试方法,掌握LPM 元件实现逻辑设计,从而完成电路设计的仿真验证和硬件验证,记录结果。

二、实验原理

VHDL 设计采用层次化的设计方法,自上向下划分系统功能并逐层细化逻辑描述。层次关系中的没一个模块可以是VHDL 描述的实体,上层VHDL 代码中实例化出各个下层子模块。

利用VHDL 语言和LPM 元件设计这两种方法方法实现两个二位数大小比较的电路,根据A 数是否大于、小于、等于B 数,相应输出端F1、F2、F3为1,设A=A2A1,B=B2B1(A2A1、B2B1表示两位二进制数),当A2A1>B2B1时,F1为1;A2A1

结构图:

Vhdl 实现

LPM 元件实现

Vhdl 实现

LPM 元件实现

三、实验设计 ① 利用VHDL 实现 (1)VHDL 代码 library IEEE;

use IEEE.std_logic_1164.all; entity bijiao is

二位数A2A1 比较运算 二位数B2B1 仿真验证 下载验证

port(a2,a1:in STD_LOGIC;

b2,b1:in STD_LOGIC;

f1,f2:buffer STD_LOGIC;

f3:out STD_LOGIC);

end bijiao;

architecture bijiao_arch of bijiao is

begin

f1<=(a2 and(not b2))or(a1 and (not b1)and a2)or(a1 and (not b1)and(not b2));

f2<=((not a2)and b2)or((not a2)and(not a1)and b1)or((not a1)and b1 and b2);

f3<=not(f1 or f2);

end bijiao_arch;

(2)波形仿真

网格大小 100ns

结束时间 2μs

功能仿真:时序仿真:输入信号00,

01,10,11

输入信号00,

01,10,11

输出信号001,

010,100

信号均为二

进制表达

输入信号00,

01,10,11

(3)仿真分析 周期设置:

为得出如图仿真结果,依据题意设置信号输入周期A2为800ns ,A1为400ns ,B2为200ns ,B1为100ns 。

仿真结论:

输入 输出

A2A1 B2B1 F1F2F3 00 00 001 01 010

10 010 11 010

01 00 100 01 001

10 010 11 010

10 00 100 01 100

10 001 11 010

11 00 100 01 100

10 100 11 001

由图表结果得出以下结论:

I.当A2A1>B2B1时,F1为1; II.当A2A1

信号均为二进制表达

输入信号00,01,10,11

输出信号001,010,100

出现延迟

III.当A2A1=B2B1时,F3为1; IV.仿真结果正确。

(4)管脚分配(实验板)

Input A2 PIN_60

Input A1 PIN_59

Input B2 PIN_51

Input B1 PIN_49

Output F1 PIN_88

Output F2 PIN_87

Output F3 PIN_86

(5)下载验证:

60、59支配A2A1输入信号,51、49支配B2B1输入信号。

88、87、86分别对应显示F1、F2、F3的结果,又信号输出为1时亮,输

出为0时不亮。

结果:I.A2A1>B2B1时,F1为1,88亮灯;

II.A2A1

III.A2A1=B2B1时,F3为1,86亮灯;

结论:下载验证结果与管脚分配保持一致。

(6)RTL viewer调试结果

f2~5 b2^b1^a1’ f1~4 b2’^b1’^a1

f2~0 b2^a2’ f1~2 a2^(b1’^a1)

f2~2 b1^a1’^a2’ f1~5 (b2^b1’^a1)+(b1’^a2)

f1~1 b1’^a1

f1~0 b2’^a2

f2~6 (b2^b1^a1’)+(b2^a2’)+(b1^a1’^a2’)

f3~0 (b2^b1^a1’)+(b2^a2’)+(b1^a1’^a2’)+(b2^b1’^a1)+(b1’^a2)

②利用LPM元件实现

(1)流程

利用LPM原件定制实现两个二位数大小比较的电路,包括>、<、=、>=、<=、<>

新建工程所在文件夹为lpm_compare2、工程名称为lpm_lpm_compare2、顶层实体名称为lpm_compare2,选择目标器件EPF10K20TI144-4。

选择Tool→Mega Wizard plug-in Manager命令,或在图形编辑窗口中的空白处双击,在弹出的对话框中选择Mega Wizard Plug-in Manager,选择Create a new custom megafunction variation,点击Next。

左侧列表中选择Installed Plug_Ins→Arithmetic→lpm_compare,设置目标器件为Flex10K,元件名为lpm_compare2,文件输出类型为VHDL,单击next。

设置输入数据宽度为2位,选择所需输出端口,单击Next。

设置datab和比较数值符号类型,单击next。

设置流水线,单击Next。

可设置Generate netlist,单击Next。

打开输出路径下地lpm_compare2——waveforms.html。仿真波形结果如图:

输入二进制信号dataa,

datab

A=B

A>B

A>=B

A

A<=B

A≠B

结论:与VHDL仿真验证结果保持一致。

(2)管脚分配(实验板)

Input dataa[1] PIN_60

Input dataa[0] PIN_59

Input datab[1] PIN_51

Input datab[0] PIN_49

Output AeB PIN_95

Output AgB PIN_92

Output AgeB PIN_91

Output AlB PIN_90

Output AleB PIN_89

Output AneB PIN_88

(3)下载验证:

60、59支配A2A1输入信号,51、49支配B2B1输入信号。

95、92、91、90、89、88分别对应显示AeB、AgB、AgeB、AlB、AleB、AneB

的结果,且信号输出为1时亮,输出为0时不亮。

结果:I.当A=B时,95亮灯;

II.当A>B时,92亮灯,

III.当A>=B时,91亮灯;

IV.当A

V.当A<=B时,89亮灯;

VI.当A≠时,88亮灯。

结论:下载验证结果与管脚分配保持一致。

四、思考题

1、VHDL中如何调用用户自定义元件、旧式74系列元件、参数化元件?

答:调用用户自定义元件:

library work;

use work.package_name._package_name;

调用旧式74系列元件和参数化元件:

library altera;

use altera.muxplus2.maxplus2;

调用参数化原件:

library LPM;

use LPM.lpm https://www.doczj.com/doc/442377850.html,ponents;

2、比较VHDL中的signal与variable?

答:对信号而言会有延时,而变量则是立即赋值。变量声明及赋值应在进程中,而信号只需要在整个结构体中声明赋值即可。在一个进程中,如果对一个信号多次赋值,那么,只有最后一个值才是有效的。如果对变量多次赋值,那么每次赋值都是有效的,并且,变量的值在再次赋值之前一直保持不变。

3、VHDL中如何设计电路反馈信号?

答:将端口声明为Buffer端口,而不是out端口。

4、举例说明常用的VHDL顺序执行和并行执行语句?

(1) 顺序执行语句:赋值语句、流程控制语句、等待语句、调用语句、返回语句。

(2) 并行语句:并行信号赋值语句、进程语句、块语句、条件信号赋值语句、元

件例化语句、并行过程调用语句、参数传递映射语句、端口说明语句。

5、说明VHDL描述组合逻辑电路是signal的作用是什么?

答:在组合逻辑电路中,signal起到电路内部连接传递的作用。

五、实验日志

遇到的问题:

1、在进行参数设置时,不知道如何设置成仿真图所示。

2、仿真图有细微差别,原因是在LIST选取结点时,未按照信号输入结点的顺序进行点击,即应先点击A2,后点击A1,同理B2B1。

3、在进行LPM宏功能选择对话框的路径必须写明lpm_compare2,未写明是can't find files。

4、在进行LPM的lpm_compare2文件夹中无法找到lpm_compare2_waveforms.html文件,将查找范围定为all.files解决问题。

疑问:lpm_compare2波形中为什么dataa和datab中出现0、1、2、3等信号。

六、实验心得

通过本次实验,掌握组合逻辑电路设计的方法,掌握并熟悉VHDL实现、LPM 元件实现以及RTL调试,并进一步熟练了仿真、下载等流程。

第六章-几种常用的组合逻辑电路试题及答案

第六章几种常用的组合逻辑电路 一、填空题 1、(8-1易)组合逻辑电路的特点是:电路在任一时刻输出信号稳态值由决定(a、该时刻电路输入信号;b、信号输入前电路原状态),与无关(a、该时刻电路输入信号;b、信号输入前电路原状态),属于(a、有;b、非)记忆逻辑电路。 2、(8-2易)在数字系统中,将具有某些信息的符号变换成若干位进制代码表示,并赋予每一组代码特定的含义,这个过程叫做,能实现这种 功能的电路称为编码器。一般编码器有n个输入端,m个输出端,若输入低电平有效,则在任意时刻,只有个输入端为0,个输入端为1。对于优先编码器,当输入有多个低电平时,则。 3、(8-3易,中)译码是的逆过程,它将转换成。译码器有多个输入和多个输出端,每输入一组二进制代码,只有个输出端有效。n 个输入端最多可有个输出端。 4、(8-2易)74LS148是一个典型的优先编码器,该电路有个输入端和个输出端,因此,又称为优先编码器。 5、(8-4中)使用共阴接法的LED数码管时,“共”端应接,a~g应接输出有效的显示译码器;使用共阳接法的LED数码管时,“共”端应接,a~g应接输出有效的显示译码器,这样才能显示0~9十个数字。 6、(8-4中)译码显示电路由显示译码器、和组成。 7.(8-4易)译码器分成___________和___________两大类。 8.(8-4中)常用数字显示器有_________,_________________,____________等。 9.(8-4中)荧光数码管工作电压_______,驱动电流______,体积_____,字形清晰美观,稳定可靠,但电源功率消耗______,且机械强度_____。 10.(8-4中)辉光数码管管内充满了_________,当它们被______时,管子就发出辉光。 11.(8-4易)半导体发光二极管数码管(LED)可分成_______,_______两种接法。 12.(8-4中)发光二极管正向工作电压一般为__________。为了防止二极管过电流而损坏,使用时在每个二极管支路中应______________。 13.(8-3中)单片机系统中,片内存储容量不足需要外接存储器芯片时,可用_________作高位地址码。 14.(8-3中)数字系统中要求有一个输入端,多个数据输出端,可用_________输入端作为

第六章_几种常用的组合逻辑电路试题及答案

1.(8-5中)设一位二进制半加器的被加数为A,加数为B,本位之和为S, 向高位进位为C,试根据真值表 1).写出逻辑表达式 2).画出其逻辑图。 真值表: 2.(8-5难)设一位二进制全加器的被加数为A i,加数为B i,本位之和为 S i,向高位进位为C i,来自低位的进位为C i-1,根据真值表 1).写出逻辑表达式 2).画出其逻辑图。 真值表:

3.(8-1难)分析图示逻辑电路: 1).列真值表 2).写出逻辑表达式 3).说明其逻辑功能。 =++,根据给出的4.(8-3难*)用一个74LS138译码器实现逻辑函数Y ABC ABC ABC 部分逻辑图完成逻辑图的连接。

6.(8-1难)试用2输入与非门和反向器设计一个3输入(I0、I1、I2)、3输出(L0、L1、L2)的信号排队电路。它的功能是:当输入I0为1时,无论I1和I2为1还是0,输出L0为1,L1和L2为0;当I0为0且I1为1,无论I2为1还是0,输出L1为1,其余两个输出为0;当I2为1且I0和I1均为0时,输出L2为1,其余两个输出为0。如I0、I1、I2均为0,则L0、L1、L2也均为0。 1).列真值表 2).写出逻辑表达式 3).将表达式化成与非式 4).根据与非式画出逻辑图 7.(8-1难)某个车间有红、黄两个故障指示灯,用来表示3台设备的工作情况。如一台设备出现故障,则黄灯亮;如两台设备出现故障,则红灯亮;如三态设备同时出现故障,则红灯和黄灯都亮。试用与非门和异或门设计一个能实现此要求的逻辑电路。 1).列真值表

2).写出逻辑表达式 3).根据表达式特点将其化成与非式,或者是异或式 4).根据化成的表达式画出逻辑图 9.(8-3难)请用3-8线译码器译码器和少量门器件实现逻辑函数 ()()∑=7630,,,,,m A B C F 。

相关主题
文本预览
相关文档 最新文档