




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VHDL与复杂数字系统设计上机实验2:组合逻辑电路的VHDL程序设计一、 实验目的:1. 掌握在MaxplusII中,使用硬件描述语言设计电路的基本操作步骤;2. 运用所学VHDL的描述语句完成组合逻辑电路的设计。二、 实验任务:从下列各题中任选一题完成。1. 试用两种描述方法,设计一个四位乘法运算器,并对两种方法所描述电路的性能进行比较。该乘法器有两个操作数输入端口,有一个乘积结果输出端口,采用标准逻辑位或位矢量数据类型。2. 试用两种描述方法,设计一个四位全减器,并对两种方法所描述电路的性能进行比较。该减法器有两个操作数输入端口、一个借位输入端口、一个结果输出端口、一个借位输出端口,采用标准逻辑位或位矢量数据类型。3. 设计一个四位十进制数显示器,每一个字码都由一个BCD码7段译码显示器驱动,即该电路包括4个BCD码7段译码显示器,要求该电路必须设计成能够自动去掉4位中高位上的零,比如十进制数0908,显示时应为908,故BCD码7段译码显示器应具有灭零功能。该电路的端口包括:四个BCD码输入端口、四个7段译码输出端口。三、 实验报告要求:给出完整的VHDL语言程序,程序应包括:库和包集合说明(必要时)、实体和结构体;若使用了元件,要给出底层元件的VHDL语言描述;给出系统自动生成的引脚框图;对所设计电路进行功能仿真;进行适当分析。四、 参考答案:1. 乘法器方法一 利用算术运算符、包集合定义library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mula isport( a,b :in std_logic_vector(3 downto 0); c :out std_logic_vector(7 downto 0);end mula;architecture rtl of mula isbegin c=a*b;end rtl;* DEVICE SUMMARY *Chip/ Input Output Bidir LCsPOF Device Pins Pins Pins LCs % Utilizedmula EPF6010ATC100-1 8 8 0 32 3 %User Pins: 8 8 0 方法二 利用部分积连加法library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mulb isport( a,b :in std_logic_vector(3 downto 0); c :out std_logic_vector(7 downto 0);end mulb;architecture rtl of mulb issignal tmp1:std_logic_vector(3 downto 0);signal tmp2:std_logic_vector(4 downto 0);signal tmp3:std_logic_vector(5 downto 0);signal tmp4:std_logic_vector(6 downto 0);begin tmp1= a when b(0)=1 else 0000; tmp2= a & 0 when b(1)=1 else 00000; tmp3= a & 00 when b(2)=1 else 000000; tmp4= a & 000 when b(3)=1 else 0000000; c=tmp1 +tmp2 +tmp3 +(0 & tmp4);end rtl;* DEVICE SUMMARY *Chip/ Input Output Bidir LCsPOF Device Pins Pins Pins LCs % Utilizedmulb EPF6010ATC100-1 8 8 0 29 3 %User Pins: 8 8 0 减法器输入减法器输出abc0subc100000001110101101101100101010011000111112. 四位全减器方法一 基于逻辑表达式一位全减器的真值表如下所示,可得到一位全减器的逻辑表达式,再将每位级联,采用generate语句可完成四位全减器描述。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity subtracter1 isport( a,b : in std_logic_vector(3 downto 0); c0 : in std_logic; c1 : out std_logic; sub : out std_logic_vector(3 downto 0);end subtracter1;architecture rtl of subtracter1 issignal ctmp:std_logic_vector(4 downto 0);begin ctmp(0)= c0; gen1:for i in 0 to 3 generate sub(i)= a(i) xor b(i) xor ctmp(i); ctmp(i+1)= (not a(i) and b(i) or (not a(i) and ctmp(i) or (ctmp(i) and b(i); end generate; c1=ctmp(4);end rtl;* DEVICE SUMMARY *Chip/ Input Output Bidir LCsPOF Device Pins Pins Pins LCs % Utilizedsubtracter1 EPF6010ATC100-1 9 5 0 8 0 %User Pins: 9 5 0 方法二 基于算术表达式library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity subtracter2 isport( a,b : in std_logic_vector(3 downto 0); c0 : in std_logic; c1 : out std_logic; sub : out std_logic_vector(3 downto 0);end subtracter2;architecture rtl of subtracter2 issignal c0plusb,atmp:std_logic_vector(4 downto 0);begin process(a,b,c0) begin atmp=0&a; c0plusb=c0plusb then c1=0; sub= a - c0plusb; else c1=1; sub= 10000-b-c0+ a; end if; end process;end rtl;* DEVICE SUMMARY *Chip/ Input Output Bidir LCsPOF Device Pins Pins Pins LCs % Utilizedsubtracter2 EPF6010ATC100-1 9 5 0 25 2 %User Pins: 9 5 0 3.四位十进制数显示电路首先,设计一个带灭零功能的BCD码7段译码显示器,输入rbi为1时,要求灭零;否则显示零。rbo为灭零输出,作为其后的级联显示器是否灭零的控制信号。entity sevsegrb isport( rbi:in bit; bcd:in bit_vector(3 downto 0); seg:out bit_vector(6 downto 0); rbo:out bit);end sevsegrb;architecture rtl of sevsegrb isbeginprocess(rbi,bcd)begin if (bcd=0000 and rbi=1) then -suppress 0 seg=0000000; rbo=1; elsif (bcd=0000 and rbi=0) then - display 0 seg=1111110; rbo seg seg seg seg seg seg seg seg seg seg=0000000; -blank end case; rbo = 0; end if;end process;end rtl;* DEVICE SUMMARY *Chip/ Input Output Bidir LCsPOF Device Pins Pins Pins LCs % Utilizedsevsegrb EPF6010ATC100-1 5 8 0 18 2 %User Pins: 5 8 0 接着,利用该元件设计四位十进制数显示电路。entity sevsegrb_4bit isport( rbi:in bit; bcd1,bcd2,bcd3,bcd4:in bit_vector(3 downto 0); seg1,seg2,seg3,seg4:out bit_vector(6 downto 0); rbo:out bit);end sevsegrb_4bit;architecture rtl of sevsegrb_4bit iscomponent sevsegrbport( rbi:in bit; bcd:in bit_vector(3 downto 0); seg:out bit_vector(6 downto 0); rbo:out bit);end component;signal rb:bit_vector(3 downto 1);beginu4:sevsegrb port map ( rbi,bcd4,seg4,rb(1);u3:sevsegrb port map ( rb(1),bcd3,seg3,rb(2);u2:sevsegrb port map ( rb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑初步清吧设计方案
- 2025-2026学年无锡市数学三年级第一学期期末质量检测试题含解析
- 备考公共关系学的重点与试题及答案
- 公共关系学的挑战与机遇试题与答案讨论
- 2025年中级经济师考试的校园系列活动试题及答案
- 2022 年中级会计师考试《中级财务管理》真题及解析(9 月 3 日)
- 环保设备维护与更新手册
- 建筑学建筑设计原则题库
- 日用百货供应协议
- 2025市政工程考试答案解析试题及答案
- 2025四川爱众集团第一批次招聘10人笔试参考题库附带答案详解
- 2025年初中地理学业水平考试模拟试卷:地图与地球知识综合训练试题卷及答案
- 2025年湖北荆州市监利市畅惠交通投资有限公司招聘笔试参考题库含答案解析
- 酒店入股合同协议书
- 银行sql考试题及答案
- 隔离技术知识试题及答案
- 2025三方贸易协议合同范本 贸易合同范本
- 2025-2030中国聚苯醚行业市场发展趋势与前景展望战略研究报告
- 山东省临沂市2025年普通高等学校招生全国统一考试(模拟)历史及答案(临沂二模)
- 2025-2030中国无烟原煤行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- 《房屋征收与补偿政策解析》课件
评论
0/150
提交评论