常用组合逻辑电路设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实 验 报 告
实验日期: 学 号:
姓 名:
实验名称:
常用组合逻辑电路设计 总 分:
一、实验目的
学习常用组合逻辑电路的可中和代码编写,学习并熟悉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。