实验二不同描述加法器设计解读.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二加法器设计 程序设计方法 图形输入方法 实验二 加法器设计(一) 图形输入加法器设计(三) 4位超前进位加法器 LIBRARY IEEE; USE IEEE STD_LOGIC_1164.ALL; ENTITY adder4 IS PORT (a, b:IN STD_LOGIC_VECTOR (3DOWN TO 0 ) ci:IN STD_LOGIC; sum:OUT STD_LOGIC_VECTOR (3 DOWN TO 0 ); cout:OUT STD_LOGIC); END adde4r; ARCHITECTURE rtl_adder4 OF adder4 IS SIGNAL g, p, c:STD_LOGIC_VECTOR (3 DOWN TO 0 ); BEGIN p(0) = a(0) OR b(0); p(1) = a(1) OR b(1); p(2) = a(2) OR b(2); g(0) = a(0) AND b(0); qq(2):=not(A(2)) xor not(b(2)); sq(2):=not(qq(2)) xor not(cq(1)); IF(A(2) XOR B(2)=1) THEN cq(2):=cq(1); else cq(2):=a(2); end if;--- qq(3):=not(A(3)) xor not(b(3)); sq(3):=not(qq(3)) xor not(cq(2)); --前一位位进位于高位相加并产生进位 IF((A(3) XOR B(3)=1) THEN cq(3):=cq(2); --与高位相加并产生进位 else cq(3):=a(3); end if;--- cout=cq(3); so=sq; end process; END ARCHITECTURE ART; 实验前,要求做好实验预习,掌握运算器ALU的特性, 实验过程中,要认真进行实验操作,仔细思考实验有关的内容,把自己想得不太明白的问题通过实验去理解清楚,争取得到最好的实验结果,达到预期的实验教学目的。试验完成后,写出实验报告。 a[3:0] b[3:0] ci Sum[3:0] cout * 一、实验目的: 1、学习和掌握半加器全加器的工作原理和设计方法; 2、熟悉EDA工具Quartus II的使用,能够熟练运用Vrilog HDL语言在Quartus II下进行工程开发、调试和仿真。 3、掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法,掌握层次化设计方法。 4、掌握半加器、全加器采用不同的描述方法。 二、实验内容: (1) 完成半加器全加器的设计,包括原理图输入,编译、综合、适配、仿真等。并将半加器电路设置成一个硬件符号入库 (2)建立更高层次的原理图设计,利用1位半加器构成1位全加器,并完成编译、综合、适配、仿真并硬件测试 (3)采用图形输入法设计1位加法器分别采用图形输入和文本输入方法,设计全加器 (4)实验报告:详细叙述1位全加法器的设计流程,给出各层次的原理图及其对应的仿真波形图,给出加法器的上时序分析情况,最后给出硬件测试流程和结果。 三、实验步骤: 1、建立一个Project。 2、编辑一个VHDL程序 要求用VHDL结构描述的方法设计一个半加器 3、对该VHDL程序进行编译,修改错误。 4、建立一个波形文件。(根据真值表) 5、对该VHDL程序进行功能仿真和时序仿真 (一)、半加器 半加器是只考虑两个加数本身,而不考虑来自低位进位的逻辑电路 逻辑图 CO=AB h-adder1 真值表描述 h-adder2 行为描述 h-adder3 结构描述 半加器的几种描述方法 实验任务1 、半加器真值表描述方法 --半加器真值表描述方法 LIBRARY IEEE; --行为描述半加器 USE IEEE STD_LOGIC_1164.ALL; ENTITY h-adder1 IS PORT( a,b: IN STD-LOGIC; so,co:OUT STD-LOGIC); END h-adder1; Architecture FH1 OF h-adder1 IS Singal abc : STD-LOGIC_vector(1 downto 0); Begin abc=ab;--并 Process(abc)—进程 begin case abc is --- WHEN “00”=SO=‘0’;CO=‘0’ WHEN “01”=SO=‘1

您可能关注的文档

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档