4位超前进位加法器-Verilog HDL

2023-11-06

Verilog HDL 简介

Verilog HDL是目前设计界通常采用的一种硬件描述语言,被广泛的应用在数字ASIC和可编程逻辑器件的设计开发工作。其按照一定的规则和风格编写代码,可以从系统级、电路级、门级、开关级等抽象层次,进行数字电路系统的建模、设计和验证工作。

4位超前进位加法器的编程实现

使用ModelSim仿真软件进行相关的编程与仿真。

4位超前进位加法器对应的Verilog HDL代码:

module fastAdder_4(sum,c_out,a,b,c_in);
  input[3:0] a,b;
  input c_in;
  output[3:0] sum;
  output c_out;
  wire[4:0] g,p,c;
    assign c[0]=c_in;
    assign p=a^b;
    assign g=a&b;
    assign c[1]=g[0]|(p[0]&c[0]);
    assign c[2]=g[1]|(p[1]&(g[0]|(p[0]&c[0])));
    assign c[3]=g[2]|(p[2]&(g[1]|(p[1]&(g[0]|(p[0]&c[0])))));
    assign c[4]=g[3]|(p[3]&(g[2]|(p[2]&(g[1]|(p[1]&(g[0]|(p[0]&c[0])))))));
    assign sum=p^c[3:0];
    assign c_out=c[4];
endmodulemodule fastAdder_4(sum,c_out,a,b,c_in);
  input[3:0] a,b;
  input c_in;
  output[3:0] sum;
  output c_out;
  wire[4:0] g,p,c;
    assign c[0]=c_in;
    assign p=a^b;
    assign g=a&b;
    assign c[1]=g[0]|(p[0]&c[0]);
    assign c[2]=g[1]|(p[1]&(g[0]|(p[0]&c[0])));
    assign c[3]=g[2]|(p[2]&(g[1]|(p[1]&(g[0]|(p[0]&c[0])))));
    assign c[4]=g[3]|(p[3]&(g[2]|(p[2]&(g[1]|(p[1]&(g[0]|(p[0]&c[0])))))));
    assign sum=p^c[3:0];
    assign c_out=c[4];
endmodule

TestBench 用于仿真的测试代码:

module fastAdder_4_tb;
  reg [3:0] a,b;
  reg c_in;
  wire [3:0] sum;
  wire c_out;
  fastAdder_4 U3(.a(a),.b(b),.c_in(c_in),.sum(sum),.c_out(c_out));
  initial 
    begin
      a=4'b0001;b=4'b0101;c_in=1'b0;
      #100 a=4'b0001;b=4'b0111;
      #100 a=4'b0111;b=4'b1100;
      #100 b=4'b1111;c_in=1'b1;
      #100 a=4'b1101;b=4'b0100;
      #100 a=4'b0000;b=4'b1001;c_in=1'b0;
      #100 a=4'b1000;b=4'b0110;
  end
endmodule


仿真波形图:

仿真示例

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4位超前进位加法器-Verilog HDL 的相关文章

  • Word中关闭EndNote自动更新格式

    问题 我们在用Endnote和Word协作撰写论文时 有时需要在Word中修改一些细小的参考文献格式 但是可能存在刚修改完 EndNote就自动检测到修改 并更新设置 回到了修改前的样子 解决方案 我们只需要在Word中将EndNote插件
  • Inno Setup入门(二十一)——Inno Setup类参考(7)

    复选框 复选框 CheckBox 用于多个并不互斥的几个选项中作出一个或者多选择 例如字体可以有粗体 斜体和下划线 这三种状态可以任意组合 像这样的选项可以采用复选框实现 Pascal脚本中对应的类是TcheckBox 其定义如下 lt x
  • char*转LPCWSTR的两种方法

    char 转LPCWSTR的两种方法 MultiByteToWideChar mbstowcs MultiByteToWideChar 将char 类型转换为LPCWSTR类型可以使用MultiByteToWideChar函数 这个函数可以
  • min_sample_split 和min_sample_leaf区别

    所以基本上 min sample split是分割所需的最小样本数 例如 如果min sample split 6并且节点中有4个样本 则不会发生拆分 不管熵是多少 在 另一方面 min sample leaf基本上是叶节点所需的最小样本数
  • 【经典买点】MACD指标的八种买入形态图解

    MACD指标中的DIF和MACD DIF和DEA两线 按照其金叉时在零轴上 下的位置 和金叉前是否发生过死叉 死叉发生的位置 有八种形态图形 它们分别是 佛手向上 小鸭出水 漫步青云 天鹅展翅 空中缆绳 空中缆车 海底电缆和海底捞月 本文转
  • Linux之你容易忽略的计算机组成知识

    来自鸟哥的私房菜 1 南北桥 整个主板上面最重要的就是芯片组了 而芯片组通常又分为两个网桥来控制各组件的沟通 分别是 1 北桥 负责链接速度较快的 CPU 主存储器不显示适配器等组件 2 南桥 负责连接速度较慢的周边接口 包括硬盘 USB
  • 7-52 两个有序链表序列的交集 (20 分)(思路加详解尾插法)come Boby!

    一 题目 已知两个非降序链表序列S1与S2 设计函数构造出S1与S2的交集新链表S3 输入格式 输入分两行 分别在每行给出由若干个正整数构成的非降序序列 用 1表示序列的结尾 1不属于这个序列 数字用空格间隔 输出格式 在一行中输出两个输入
  • 浅谈5G 与4G的区别

    5G 顺势而生 应用广泛 包含诸多的进步 但未来依然可期 期望6G 7G 8G等等 前提 了解5G 技术 有必要了解一下 1G 2G 2 5G 3G 4G技术 1G 到4G之间的技术我们称之为蜂窝移动网路系统 正所谓长江后浪推前浪 一代更比
  • sql-labs 29 waf 绕过参数污染

    HTTP参数污染 HTTP Parameter Pollution 攻击者通过在HTTP请求中插入特定的参数来发起攻击 如果Web应用中存在这样的漏洞 可以被攻击者利用来进行客户端或者服务器端的攻击 waf服务器 tomcat 只解析重复参
  • 前端自适应布局

    在前端开发中 我们不可避免要面临适配问题 本文将介绍几种适配方式 一 px和em 1 1 px 1 2 em 二 rem 2 1 rem原理 2 2 rem如何计算的 2 3 rem使用 三 使用插件px2rem转换 3 1 原理和优点 3
  • MySQL笔记(五)使用python调用数据库进行操作

    python 访问数据库流程 在pycharm中下载pymysql 打开数据库视图 相当去navicat 设置数据库 使用python对数据库进行操作 Python2中使用的是MySQLdb模块 from pymysql import de
  • 图结构与图算法综述

    图结构与图算法综述 图结构以及图算法 无向图 有向图和网络能运用很多常用的图算法 这些算法包括 各种遍历算法 这些遍历类似于树的遍历 寻找最短路径的算法 寻找网络中最低代价路径的算法 回答一些简单相关问题 例如 图是否是连通的 图中两个顶点
  • Oracle数据库基础知识

    1 Oracle 数据库服务器体系所包含的三种主要结构是 内存结构 进程结构 存储结构 2 安装 11gR2 数据库要经过哪几个主要阶段 Grid基础架构安装 数据库软件安装 DBCA创建数据库 3 数据库实例所必须的后台进程包括 DBWn
  • QT——实战动态链接库调用

    如何在Debug模式下调用外部的动态链接库 首先在工程文件夹下 通过右键可以选择添加后 进入下图界面 选中外部库 点击下一步 选择所要调用的外部库文件debug生成的buliding文件里的libxxxxx a文件 如下图所示 点击下一步
  • 移动端中的坑和 vue中事件修饰符详解(stop, prevent, self, once, capture, passive)

    stop 是阻止冒泡行为 不让当前元素的事件继续往外触发 如阻止点击div内部事件 触发div事件 prevent 是阻止事件本身行为 如阻止超链接的点击跳转 form表单的点击提交 self 是只有是自己触发的自己才会执行 如果接受到内部

随机推荐

  • Eclipse 运行web项目 HTTP404错误

    Eclipse 引入web项目后 run as on server tomcat启动成功 但网页提示404 问题排查 404 服务器找不到资源 首先检查Eclipse部署路径 是否部署了资源文件 查找部署路径 发现该路经下只有一个WEB I
  • QT 计算两个日期时间差?(时间转时间戳)

    时间戳时间转换工具 时间换算工具 1 得出的结果单位是 天 不足一天为0 没有半天的说法 QDateTime time1 QDateTime fromString 2022 4 25 16 40 02 yyyy MM dd HH mm ss
  • CMake中option和cmake_dependent_option的使用

    CMake中的option命令为用户提供可以选择的布尔选项 boolean option 其格式如下 option
  • centos7.4中安装Apache服务

    安装Apache服务 大家好 今天我们在cenots7 4中安装一个web服务Apache 接下来我们先来简单了解一下Apache服务吧 Apache Http server是开源软件项目的杰出代表 基于标准的http网络协议提供网页浏览服
  • 黄鱼车

    本文转载至 http www zynews com news 2010 12 19 content 788498 htm 文 佘建民 有交关外地朋友问我迭个老上海 为啥上海人拿三轮脚踏货车叫作 黄鱼车 对这个疑问 现借 上海闲话 一角 讲讲
  • 【C++】内存管理初阶

    1 C C 内存管理 1 C C 内存分布 int globalVar 1 static int staticGlobalVar 1 void Test static int staticVar 1 int localVar 1 int n
  • 游戏数据库设计经验

    一 游戏模板数据库设计特点 软件行业一般数据库设计原则 保持数据的完整性一致性 避免数据冗余 范式设计 但游戏领域的游戏模板表设计上还需要考虑这些特点 1 1 对游戏程序只读 游戏程序只需要考虑读取性能 不需要过多考虑修改性能 1 2 数据
  • 【代码审计】模板注入

    0x00 介绍 这里主要学习下 FreeMarker 模板注入 FreeMarker 是一款模板引擎 FreeMarker 模板文件与 HTML 一样都是静态页面 当用户访问页面时 FreeMarker 引擎会进行解析并动态替换模板中的内容
  • 学一点Ceph知识:初识Ceph

    Ceph是什么 Ceph是一个开源的分布式存储系统 可大规模扩展 高性能 无单点故障 在普通的服务器上可以支持到PB级容量 商用机器上支持的容量可以达到EB级别 Ceph的竞争力 市面上提供云存储的分布式系统如阿里云的OSS 底层存储框架为
  • 深度学习语义分割(二)SegNet论文解读

    SegNet是是第一次在语义分割中应用编码器 解码器 encoder decoder 的结构 其中 编码器使用池化层逐渐缩减输入数据的空间维度 而解码器通过反卷积层等网络层逐步恢复目标的细节和相应的空间维度 从编码器到解码器之间 通常存在直
  • 学习使用flex

    会对flex做词法分析了解很多 下面我通过一个例子来详细说明如何使用flex 根据所学的词法分析内容 利用flex构造PL 0语言的词法分析器 既然是构造PL 0的词法分析器 那么我们有必要看一下pl0语言的简介和相应文法 2 PL 0语言
  • Spring Boot集成websocket

    像目前的直播 弹幕 小游戏等方面都用到了websocet进行长链接 相对于http的一次请求一次响应websocket只需要进行一次握手即长久性的建立链接进行消息互通 为什么一些场景要用websocet呢 http的请求每次都会进行校验而请
  • 0000-00-00 00:00:00 的坑,你踩了吗?

    本文内容 1 起因 2 MySQL 对 0000 00 00 的支持 3 Java 对 0000 00 00 的支持 4 为什么线上的代码能正常运行 起因 前几天组内有系统做了数据库迁移 MySQL版本 5 6 16 其中某张表的一个字段是
  • 手机共享网络给电脑解决重装windows7系统没有网卡USB驱动

    手机共享网络给电脑解决重装windows7系统没有网卡USB驱动 我的手机是荣耀手机 使用下面方法 在手机上进入设置 gt 移动网络 gt 个人热点 gt 更多共享设置 开启USB 共享网络开关 共享移动网络或已连接的WLAN 网络给电脑
  • 什么是I帧,P帧,B帧

    视频压缩中 每帧代表一幅静止的图像 而在实际压缩时 会采取各种算法减少数据的容量 其中IPB就是最常见的 简单地说 I帧是关键帧 属于帧内压缩 就是和AVI的压缩是一样的 P是向前搜索的意思 B是双向搜索 他们都是基于I帧来压缩数据 I帧表
  • Redis在数据库事务中的增改操作

    数据库事务中的redis增改模板 if TransactionSynchronizationManager isActualTransactionActive TransactionSynchronizationManager regist
  • EF系列(一)——深入框架底层

    什么是EF 框架 EF 框架是微软的 NET中ORM 对象关系映射 框架 为什么要用EF框架 在没有EF框架之前 我们是直接与ADO Net 进行交互来访问数据库 在SqlHelper 里面面通过设置connection command d
  • SpringMVC+Shiro整合配置文件详解

    在项目中xml文件的配置是必不可少的 特别是SpringMVC框架 但是几乎所有项目的配置都是大同小异 很多人都是直接复制黏贴了事 不少人对其具体含义及用途都不甚全知 本片文章将正对项目中常用的框架SpringMVC Shiro进行整合 并
  • IntelliJ IDEA / Eclipse 自动生成 Author 注释 签名

    Author 注释 签名如下 author 稚枭天卓 E mail zhxiaotianzhuo 163 com version 创建时间 2016 6 20 下午04 58 52 Eclipse 自动生成 Author 注释 签名 win
  • 4位超前进位加法器-Verilog HDL

    Verilog HDL 简介 Verilog HDL是目前设计界通常采用的一种硬件描述语言 被广泛的应用在数字ASIC和可编程逻辑器件的设计开发工作 其按照一定的规则和风格编写代码 可以从系统级 电路级 门级 开关级等抽象层次 进行数字电路