串行加法器由多个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练习二【串行加法器】(附公式推导)相关推荐

  1. 电动助力转向EPS(二)——理论公式推导及simulink模型

    电动助力转向EPS(二)--理论公式推导及simulink模型 EPS EPS系统建模 方向盘动态公式 扭矩传感器模块 电机模块 齿轮齿条模块 simulink建模 方向盘动态模块 扭矩传感器模型 电 ...

  2. Verilog实现二位十进制数字的显示

    Verilog实现二位十进制数字的显示 文章目录 Verilog实现二位十进制数字的显示 一.简介 二.代码 三.效果展示 一.简介 我们这里使用Verilog来实现二位十进制数字的显示. 二.代码 ...

  3. verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)

    本系列文章将和读者一起巡礼数字逻辑在线学习网站 HDLBits 的教程与习题,并附上解答和一些作者个人的理解,相信无论是想 7 分钟精通 Verilog,还是对 Verilog 和数电知识查漏补缺的同 ...

  4. .net 面试题系列文章二(附答案)

    .net 面试题系列文章二(附答案) 内容摘要:本文是.net 面试题系列的第二篇,该系列文章是对网上所有.net面试题的收重新集整理後的系列文章,囊括了c#面试题,vb.net面试题,asp.net ...

  5. Quartus II使用说明(Verilog HDL二选一数据选择器 )

    <可编程数字逻辑电路设计>课程中Quartus II软件的使用说明 VHDL和Verilog HDL不一样. 1.新建文件夹,里面包含5个子文件夹(doc/img/prj/rtl/test ...

  6. Verilog实现二段式和三段式有限状态机

    有限状态机(Finite State Machine,FSM)又称为状态机,为时序逻辑电路中常采用的一种形式,也是时序电路的通用模型任何时序电路,都可以表示为有限状态机. 1.状态机的概述 状态机一般 ...

  7. Webpack从入门到进阶(二)---附沿路学习案例代码

    文章目录 Webpack从入门到进阶(一)---附沿路学习案例代码 一.Webpack简介 1.前端发展的几个阶段 2.前端三个框架的脚手架 3.Webpack是什么? 4.webpack和vite ...

  8. 如何计算地球上两点的距离(附公式推导)

    前段时间,看了一些电子围栏的算法,对其中一段计算球面上两点距离的代码有些不解,然后找了一下相关算法,在维基百科的大圆距离词条中记录了相关的计算公式,大致思路就是求出这两点间的弧长对应的圆心角的余弦或正 ...

  9. 汽车二自由度模型公式推导及simulink模型——传递函数、状态空间

    文章目录 二自由度车辆方程 传递函数法 状态空间 二自由度车辆方程 为便于掌握操纵稳定性的基本特性,我们将一对简化为线性二自由度的汽车模型进行研究,分析中忽略一下几点: 1.忽略转向系统的影响,直接以 ...

  10. 【Verilog】二、Verilog基础语法

    文章目录 前言 一.简单的Verilog知识 1.1.Verilog端口定义 1.2.Verilog的标识符 1.3.Verilog的逻辑值 1.4.Verilog的数字进制 1.5.Verilog的 ...

最新文章

  1. docker镜像、容器管理
  2. Python 进阶_模块 包
  3. Vue组件通信的7个方法
  4. linux内核时间second,闰秒(leap second)和linux/unix时间
  5. linux 定时任务
  6. linux卸载vs codeblocks,哪个适合linux? GNU make vs cmake vs codeblocks vs qmake
  7. 【python】Python的基本数据类型之运算符
  8. 一个小偷写给失主的信
  9. arcore之路-unity开发从入门到实践_AR开发之路——准备工作
  10. C#图片处理之: 锐化
  11. 数学教师计算机能力提升,为未来“计算”,做一名新时代的数学教师
  12. Spring总结七:AOP动态代理的实现
  13. mysql 2182_MySql常用命令总结
  14. MySQL Shell 教程
  15. vc2010c语言,VC2010下载_VisualC++2010官方下载「vc2010」-太平洋下载中心
  16. 华为LTC/IPD/ITR三大核心流程变革看一篇文章就全明白啦!
  17. 视频教程-HTML5基础知识实战演练教程-HTML5/CSS
  18. Android ADB USB 驱动 万能配置方式
  19. 小米手环6解决天气未同步问题
  20. OLAP、OLTP的介绍和比较

热门文章

  1. 计算机统计分析spss试卷,《SPSS计算机统计分析方法》习题A卷.doc
  2. php 快手视频,初学PHP:简单的快手和抖音短视频解析
  3. PHP 引用在线编辑器,kindeditor
  4. 位移密码算法挑战 个人答案
  5. R语言非参数检验(二)
  6. ssh远程连接服务器常用命令
  7. Python 算法设计(2) - 大数运算 - 基于字符串的数字运算和进位
  8. 汇编语言 dos中masm的配置教程
  9. 安徽师范大学数学计算机徐德琴,Snake模型在指纹图像分割中的应用
  10. php 网站计数器,PHP开源程序通用网站计数器代码分享