- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
實验八全加器的设计分析实验报告
实验八全加器的设计分析实验报告姓名:孙时佳学号:3110102935专业:计算机科学与技术课程名称:逻辑与计算机设计基础实验同组学生姓名:无实验时间:2012-11-6实验地点:紫金港东4-509指导老师:蒋方炎实验目的和要求 掌握一位全加器的工作原理和逻辑功能2.掌握串行进位加法器的工作原理和进位延迟3.掌握超前进位的工作原理4.掌握减法器的实现原理5.了解加法器在CPU中的地位6.掌握FPGA开发平台进行简单的I/O数据交互二、实验内容和原理实验内容:1.实现16位加减器的调试仿真2. 16位计算器设计 实验原理:2.1 一位全加器(FA)全加器是一个能对一位二进制数及来自低位的进位进行相加,产生本位和及向高位进位的逻辑电路。该电路有3个输入变量,分别是2个加数Ai 和 Bi,低位进位输入 Ci ,2个输出变量,分别是全加和 Si,进位输出 Ci+1。一位全加器的逻辑表达式:Si = Ai⊕Bi⊕Ci 、 Ci+1=Ai Bi+BiCi+CiAiAi Bi C i Si C i+1 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 图表1:一位全加器真值表由一位全加器的输入输出关系,得到电路图 :module adder_1bit(a, b, ci, s, co); // port declaration and (c1,a,b), (c2,b,ci), (c3,a,ci); xor (s1,a,b), (s,s1,ci);or (co,c1,c2,c3); endmodule 图表2 一位全加器的电路图和代码2.2多位串行进位全加器多位全加器可由一位全加器将进位串接构成。高位进位生成速度慢,每一位的相加结果都必须等到低一位的进位产生以后才能建立起来,所以位数越多时间越长。module adder_8bits(A, B, Ci, S, Co);// port and variable declaration adder_1bit A1_1(A[1], B[1], Ci, A1_2(A[2], B[2], Ctemp[1], A1_3(A[3], B[3], Ctemp[2], A1_4(A[4], B[4], Ctemp[3], A1_5(A[5], B[5], Ctemp[4], A1_6(A[6], B[6], Ctemp[5], A1_7(A[7], B[7], Ctemp[6], A1_8(A[8], B[8], Ctemp[7],endmodule module adder_32bits(A, B, Ci, S, Co);// port and variable declaration adder_8bits A8_1(A[ 8: 1], B[ 8: 1], Ci, A8_2(A[16: 9], B[16: 9], Ctemp[1], A8_3(A[24:17], B[24:17], Ctemp[2], A8_4(A[32:25], B[32:25], Ctemp[3],endmodule 图表3多位串行进位全加器示意图及代码2.3多位串行进位全减器原理:? 用负数补码加法实现,减数当作负数求补码? 共用加法器? 用“异或”门控制求反,最低进位位加一 图表4 多位串行进位全减器电路图 Ctr为0时,S[7 : 0] = A[7 : 0] + B[7 : 0],做加法Ctr为1时,S[7 : 0] = A[7 : 0] - B[7 : 0] = A[7 : 0] + B[7 : 0] + 1 ,做减法module add_sub_8bits(A, B, Ctr, S, Co);input wire [8:1] A, B;input wire Ctr;output wire [8:1] S;output wire Co;wire [8:1] Bo;wire [7:1] Ctemp;assign Bo = {8{Ctr}} ^ B;adder_1bit A1_1(A[1], Bo[1], Ctr, A1_2(A[2], Bo[2], Ctemp[1], A1_3(A[3], Bo[3], Ctemp[2], A1_4(A[4], Bo[4], Ctemp[3], A1_5(A[5], Bo[5], Ctemp[4], A1_6(A[6], Bo[6], Ctemp[5], A1_7(A[7], Bo[7], Ctemp[6], A1_8(A[8], Bo[8], Ctemp[7], endmodule 图表5 全减器代码Ctr=0,做加法Ctr=1,做减法,同时 C0=
文档评论(0)