Verilog练习二【串行加法器】(附公式推导)
串行加法器由多个1位全加器串联构成,如下图所示,每个1位全加器包含3个输入和两个输出,其中c[i]是进位输出。
根据上图,列出1位全加器的真值表:
A | B | Ci | So | Co |
---|---|---|---|---|
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 |
根据真值表,写出so和co的最小项逻辑表达式(标准与或式),就是将输出为1的相加
So=AˉBˉCi+AˉBCiˉ+ABˉCiˉ+ABCiSo=\bar{A} \bar{B}C_i+\bar{A}B\bar{C_i}+A\bar{B}\bar{C_i}+ABC_i So=AˉBˉCi+AˉBCiˉ+ABˉCiˉ+ABCi
Co=AˉBCi+ABˉCi+ABCiˉ+ABCiCo =\bar{A}BC_i+A\bar{B}C_i+AB\bar{C_i}+ABC_i Co=AˉBCi+ABˉCi+ABCiˉ+ABCi
根据表达式编写代码如下:
module adder_1bit (a,b,ci,so,co);input a,b,ci;output so,co;assign so = (~a && ~b && ci) || (~a && b && ~ci) || ( a && ~b && ~ci) || ( a && b && ci);assign co = (~a && b && ci) || (a && ~b && ci) || ( a && b && ~ci) || ( a && b && ci);
endmodule
将1位全加器串联即可得到多位串行加法器。比如实现2位加法器,代码如下:
module adder_top(a,b,ci,co,so);input [1:0] a;input [1:0] b;input ci;output [1:0]so;output co;wire wi;adder_1bit adder_1bit0(.a(a[0]),.b(b[0]),.ci(0),.so(so[0]),.co(wi));adder_1bit adder_1bit1(.a(a[1]),.b(b[1]),.ci(wi),.so(so[1]),.co(co));
endmodule
综合后的RTL视图如下:
Verilog练习二【串行加法器】(附公式推导)相关推荐
- 电动助力转向EPS(二)——理论公式推导及simulink模型
电动助力转向EPS(二)--理论公式推导及simulink模型 EPS EPS系统建模 方向盘动态公式 扭矩传感器模块 电机模块 齿轮齿条模块 simulink建模 方向盘动态模块 扭矩传感器模型 电 ...
- Verilog实现二位十进制数字的显示
Verilog实现二位十进制数字的显示 文章目录 Verilog实现二位十进制数字的显示 一.简介 二.代码 三.效果展示 一.简介 我们这里使用Verilog来实现二位十进制数字的显示. 二.代码 ...
- verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)
本系列文章将和读者一起巡礼数字逻辑在线学习网站 HDLBits 的教程与习题,并附上解答和一些作者个人的理解,相信无论是想 7 分钟精通 Verilog,还是对 Verilog 和数电知识查漏补缺的同 ...
- .net 面试题系列文章二(附答案)
.net 面试题系列文章二(附答案) 内容摘要:本文是.net 面试题系列的第二篇,该系列文章是对网上所有.net面试题的收重新集整理後的系列文章,囊括了c#面试题,vb.net面试题,asp.net ...
- Quartus II使用说明(Verilog HDL二选一数据选择器 )
<可编程数字逻辑电路设计>课程中Quartus II软件的使用说明 VHDL和Verilog HDL不一样. 1.新建文件夹,里面包含5个子文件夹(doc/img/prj/rtl/test ...
- Verilog实现二段式和三段式有限状态机
有限状态机(Finite State Machine,FSM)又称为状态机,为时序逻辑电路中常采用的一种形式,也是时序电路的通用模型任何时序电路,都可以表示为有限状态机. 1.状态机的概述 状态机一般 ...
- Webpack从入门到进阶(二)---附沿路学习案例代码
文章目录 Webpack从入门到进阶(一)---附沿路学习案例代码 一.Webpack简介 1.前端发展的几个阶段 2.前端三个框架的脚手架 3.Webpack是什么? 4.webpack和vite ...
- 如何计算地球上两点的距离(附公式推导)
前段时间,看了一些电子围栏的算法,对其中一段计算球面上两点距离的代码有些不解,然后找了一下相关算法,在维基百科的大圆距离词条中记录了相关的计算公式,大致思路就是求出这两点间的弧长对应的圆心角的余弦或正 ...
- 汽车二自由度模型公式推导及simulink模型——传递函数、状态空间
文章目录 二自由度车辆方程 传递函数法 状态空间 二自由度车辆方程 为便于掌握操纵稳定性的基本特性,我们将一对简化为线性二自由度的汽车模型进行研究,分析中忽略一下几点: 1.忽略转向系统的影响,直接以 ...
- 【Verilog】二、Verilog基础语法
文章目录 前言 一.简单的Verilog知识 1.1.Verilog端口定义 1.2.Verilog的标识符 1.3.Verilog的逻辑值 1.4.Verilog的数字进制 1.5.Verilog的 ...
最新文章
- docker镜像、容器管理
- Python 进阶_模块 包
- Vue组件通信的7个方法
- linux内核时间second,闰秒(leap second)和linux/unix时间
- linux 定时任务
- linux卸载vs codeblocks,哪个适合linux? GNU make vs cmake vs codeblocks vs qmake
- 【python】Python的基本数据类型之运算符
- 一个小偷写给失主的信
- arcore之路-unity开发从入门到实践_AR开发之路——准备工作
- C#图片处理之: 锐化
- 数学教师计算机能力提升,为未来“计算”,做一名新时代的数学教师
- Spring总结七:AOP动态代理的实现
- mysql 2182_MySql常用命令总结
- MySQL Shell 教程
- vc2010c语言,VC2010下载_VisualC++2010官方下载「vc2010」-太平洋下载中心
- 华为LTC/IPD/ITR三大核心流程变革看一篇文章就全明白啦!
- 视频教程-HTML5基础知识实战演练教程-HTML5/CSS
- Android ADB USB 驱动 万能配置方式
- 小米手环6解决天气未同步问题
- OLAP、OLTP的介绍和比较