行波进位加法器

行波进位加法器

行波进位加法器实验报告

一、 实验目的:

1、掌握行波进位加法器原理;

2、熟悉verilog 语言;

3、了解quartus II的用法。

二、 实验内容:

使用verilog 语言实现8位的行波进位加法器。

三、 实验结果:

方案二的程序:

module add_8(A,B,Cin,Sum,Cout,out);

input [7:0] A,B;

input Cin;

output [7:0] Sum;

output Cout;

output [7:1] out;

wire [7:0] Sum;

wire Cout;

wire [7:1] out;

add add1(A[0],B[0],Cin,Sum[0],out[1]);

add add2(A[1],B[1],out[1],Sum[1],out[2]);

add add3(A[2],B[2],out[2],Sum[2],out[3]);

add add4(A[3],B[3],out[3],Sum[3],out[4]);

add add5(A[4],B[4],out[4],Sum[4],out[5]);

add add6(A[5],B[5],out[5],Sum[5],out[6]);

add add7(A[6],B[6],out[6],Sum[6],out[7]);

add add8(A[7],B[7],out[7],Sum[7],Cout);

endmodule

module add(a,b,cin,sum,cout);

input a,b;

input cin;

output sum;

output cout;

reg sum;

reg cout;

always @(*)

begin

if((a+b+cin==1)||(a+b+cin==3))

sum<=1'b1;

else sum<=1'b0;

if((a+b+cin)>=2)

cout<=1'b1;

else cout<=1'b0;

end

endmodule

方案二的功能仿真

方案三的程序:

module add_8(A,B,Cin,Sum,Cout);

input [7:0] A,B;

input Cin;

output [7:0] Sum;

output Cout;

reg [7:0] Sum;

reg Cout;

reg [8:0] out;

parameter size=7;

integer i;

always @(*)

begin

out[0]=Cin;

for(i=0;i<=size;i=i+1)

add (A[i],B[i],out[i],Sum[i],out[i+1]);

end

task add;

input a,b,cin;

output sum,cout;

begin

if((a+b+cin==1)||(a+b+cin==3))

sum=1'b1;

else sum=1'b0;

if((a+b+cin)>=2)

cout=1'b1;

else cout=1'b0;

end

endtask

always @(out[8])

Cout=out[8];

endmodule

方案三的功能仿真

四、 实验结果分析:

方案一、我选择了使用模块的嵌套,即先实现一个一位的全加器add ,然后在顶层模块add_8里面调用8次add ,经过老师的点拨,我选择使用for 循环调用add 。但是因为在for 循环里面调用8次add ,就得给每一个实例化模块一个名字,而在verilog 语言里面我还不会使用字符串数组。所以这种方案没能成功。

方案二、考虑到方案一是因为不能使用for 循环给每一个调用的模块一个实例化名字,所以我变放弃了for 循环,依次把要调用的模块写出来。结果这种方案成功了,但是缺点是太繁琐,如果实现8位的还可以勉强用写8

个实例化模块,如果

要写一个64位的就万万不可取了。

方案三、我又分析了方案一失败的原因,既然实例化模块调用不可行,那么调用task 呢?因为调用task 是不需要重新再给它任务命的,所以我便尝试着把方案一中的模块调用换成相应的task 调用。结果这种方法是可取的,而且相比方案二来说,这种更简单,在处理多位全加器时尤为方便,所以我最终选择了方案三。

五、 实验心得:

通过这次实验,我对verilo

行波进位加法器C语言,行波进位加法器.doc相关推荐

  1. 行波进位加法器C语言,行波进位加法器原理

    算术运算是数字系统的基本功能,更是计算机中不可缺少的组成单元.本节介绍加法运算和减法运算的逻辑电路. 一.半加器和全加器 1.半加器 半加器和全加器是算术运算电路中的基本单元,它们是完成1位二进制数相 ...

  2. 超前进位加法器实验报告_干货 | 加法器与反相加法器原理解析

    什么是加法器 加法器是为了实现加法的,即是产生数的和的装置. 加数和被加数为输入,和数与进位为输出的装置为半加器.若加数.被加数与低位的进位数为输入,而和数与进位为输出则为全加器.常用作计算机算术逻辑 ...

  3. 【离散数学】实践一 用C语言实现二进制加法器

    题目以及要求 每个学生利用 C 语言独自完成设计一个 8 位加法器,计算只用非与或(!, &&,|)三种逻辑运算实现.(C 语言的布尔数据类型:bool,参考: https://www ...

  4. 两个运放制作加法器_同相加法器电路图_反相加法器电路图_运放加法器电路图解析...

    在电子学中,加法器是一种数位电路,其可进行数字的加法计算.加法器是产生数的和的装置.加数和被加数为输入,和数与进位为输出的装置为半加器.若加数.被加数与低位的进位数为输入,而和数与进位为输出则为全加器 ...

  5. 计算机进位法,计算机基础知识--进位计数制.docx

    教学对象 1901.1902运营班 教学时间 2019年4月9日 教学内容 第一单元 计算机基础知识 任务二 进位计数制 知识目标 1.掌握不同数制的表示方式. 2.不同进制之间的转换 能力目标 1. ...

  6. 用计算机怎么更改进位制,计算机中的进位制,8421法是怎么转换的啊,求解

    计算机中的进位制,8421法是怎么转换的啊,求解以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 计算机中的进位制,842 ...

  7. c语言课程设计的摘要,投票程序设计-C语言课程设计摘要.doc

    投票程序设计-C语言课程设计摘要.doc C 语 言 课 程 设 计 题 目: <7>投票程序 设 计 者: 专 业: 班级学号: 所属院系:机电学院 指导教师: 2010年7月17日 1 ...

  8. c语言四则运算实验报告,c语言四则运算实验报告.doc

    c语言四则运算实验报告.doc 课程编号 1300050027 得分教师签名批改日期深 圳 大 学 实 验 报 告课程名称 C语言实验 实验名称 100以内的四则运算游戏 学 院 信息工程学院 指导教 ...

  9. c语言程序设计a考试题,C语言程序设计考试题(A).doc

    C语言程序设计考试题(A).doc 迅腾国际C语言程序设计考试题(A)班级 _ 姓名_ 得分一. 选择题 (本大题共40个选项,每个选择项1.5分,共60分)1.在C语言中,合法的字符常量是[ ]A) ...

最新文章

  1. TCP/IP 广播的发送和接收
  2. 算法提高课-搜索-DFS之搜索顺序-AcWing 1117. 单词接龙:dfs
  3. 华为xs第几批升级鸿蒙,华为和荣耀老机型用户有福:确定能批量升级到鸿蒙系统!...
  4. 图论 公约数 找环和链 BZOJ [NOI2008 假面舞会]
  5. random_state ---summary
  6. 山师计算机专业研究生怎么样,山东师范大学有计算机专业硕士吗?
  7. oracle之创建和管理表之练习题
  8. 【Git、GitHub、GitLab】一 Git安装与Git最小配置
  9. 让互联网助小组合作一臂之力
  10. Linux(CentOS)下安装Elasticsearch5.0.0
  11. 计算机网络的概述发展填空题,计算机网络安全概述填空题.doc
  12. Unity实现刺客信条灯光的思路探究
  13. php免费项目下载文件,php——文件下载
  14. matlab所有元素求和,数组 – MATLAB对数组值表达式的所有元素求和
  15. 360浏览器极速模式和兼容模式
  16. 网络是怎样连接的?从浏览器输入URL开始
  17. css中设置body字体,css如何设置body字体颜色
  18. 夜暗方显万颗星,灯明始见一缕尘
  19. 3.3:如何在Python中创建文件?
  20. 2022年5月20日最全摸鱼游戏导航

热门文章

  1. Ubuntu14下Auto-sklearn安装调试总结
  2. find排除文件 linux_Linux find命令排除某个路径
  3. 脑机接口(一):背景知识
  4. VUE+Element中eldialog弹框控制最小宽度
  5. Python_哔哩哔哩弹幕可视化
  6. 记录有关Https、443、SSL、百度地图、云服务器、网易有数BI 等相关知识
  7. 在桌面上创建一个宽带连接服务器,win7系统怎么在桌面上创建宽带连接的快捷图标?...
  8. 02 KVM安装虚拟化
  9. Android 12 adb push更新系统应用
  10. 一键安装LAMP脚本