当前位置: 首页 > news >正文

verilog HDLBits刷题“Module cseladd”--模块 cseladd---Carry-select adder 进位选择adder

一、题目

ripple carry adder 的一个缺点(参见上一个练习) 是 adder 计算 carry out 的延迟(在最坏的情况下从 carry-in 开始)相当慢,并且第二阶段 adder 在第一阶段 adder 完成之前无法开始计算carry-out。这会使加法器变慢。一项改进是 carry-select adder,如下所示。第一级加法器与以前相同,但我们复制了第二级加法器,一个假设 carry-in=0,另一个假设 carry-in=1,然后使用快速的 2 对 1 多路复用器来选择哪个结果恰好是正确的。

在本练习中,您将获得与上一个练习相同的模块,该模块将两个 16 位数字与进位相加,并产生一个进出和 16 位总和。您必须使用您自己的 16 位 2 对 1 多路复用器实例化其中的三个来构建 carry-select 加法器。add16

如下图所示,将模块连接在一起。提供的模块具有以下声明:add16

module add16 ( input[15:0]a, input[15:0]b, inputcin, output[15:0]sum, outputcout);

模块声明

module top_module( input [31:0] a, input [31:0] b, output [31:0] sum );

二、分析

1、例化三个16位加法器,低16位进位为0,高16位的进位原本应来自低16位加法器的进位cout,为提高加法器的速度,分别假设高16位加法器的进位为0或1,可得到高16位加法器的输出。

2、根据低16位的进位输出(sel), 选择高16位加法器的输出作为32位加法器的高16位输出。

三、代码实现

module top_module( input [31:0] a, input [31:0] b, output [31:0] sum ); wire [15:0]sum_hi0,sum_hi1; wire [15:0]sum_low; reg [15:0]sum_hi_sel; wire sel; add16 inst1(.a(a[15:0]),.b(b[15:0]),.cin(1'b0),.cout(sel),.sum(sum_low)); add16 inst2(.a(a[31:16]),.b(b[31:16]),.cin(1'b0),.cout(),.sum(sum_hi0)); add16 inst3(.a(a[31:16]),.b(b[31:16]),.cin(1'b1),.cout(),.sum(sum_hi1)); always@(*)begin case(sel) 1'b0:sum_hi_sel<=sum_hi0; 1'b1:sum_hi_sel<=sum_hi1; endcase end assign sum={sum_hi_sel,sum_low}; endmodule 或者 module top_module( input [31:0] a, input [31:0] b, output [31:0] sum ); wire cout_sel; wire [15:0]sum1,sum2,sum3; add16 instance1(.a(a[15:0]),.b(b[15:0]),.cin(1'b0),.sum(sum1),.cout(cout_sel)); add16 instance2(.a(a[31:16]),.b(b[31:16]),.cin(1'b0),.sum(sum2),.cout()); add16 instance3(.a(a[31:16]),.b(b[31:16]),.cin(1'b1),.sum(sum3),.cout()); always@(*)begin case(cout_sel) 0:sum={sum2,sum1}; 1:sum={sum3,sum1}; endcase end endmodule

四、时序

http://www.jsqmd.com/news/1206960/

相关文章:

  • 天津百达翡丽维保网点汇总|全新官方认证信息权威启用(2026年7月最新) - 百达翡丽售后服务官网
  • 450种iTerm2配色方案终极指南:如何快速打造个性化终端界面
  • CANN/asc-devkit SIMT立方根函数
  • PowerToys中文汉化版终极指南:免费解锁Windows专业效率神器
  • 2026年唐山短视频代运营服务商选择指南:5家横向测评与适配分析 - 中国品牌价值观察网
  • 拓氪科技凭什么斩获金远奖?全域 AI 大数据营销平台成核心优势
  • 品牌危机代际革命:全域随身天眼+危机作战室,构筑AI时代生存底线 - 热点速览
  • 2026 温州好的财税公司推荐几家 - 品牌智鉴榜
  • 如何用嘎嘎降AI处理市场营销论文:市场营销毕业论文降AI4.8元知网达标完整教程
  • 电子滤波电路设计:从基础原理到实战应用
  • 如何3分钟完成暗黑2存档修改:终极角色定制完整指南
  • Zorin OS 18.1:Windows应用兼容性与Linux替代方案解析
  • 亨得利中国区维保网络报告|权威通告最新官方服务信息(2026年7月最新) - 亨得利中国服务中心
  • 四大维度深层重构,解锁软件产业智能化变革新路径
  • openEuler包管理新范式:kyclassifier如何提升系统安全性与稳定性
  • 实时跟进!2026深圳黄金回收价格走势,高位持稳抓紧变现 - 全国奢侈品回收测评
  • CANN Ascend C饱和函数文档
  • 2026年07月超声波清洗机、纯水设备、冷水机厂家推荐榜与选择指南 - 甄选服务推荐
  • 终极指南:Windows 10下PL-2303旧芯片驱动完美解决方案
  • Raccoon4新手入门:3分钟学会下载并安装Google Play应用
  • 2026石家庄黄金回收指南:本地靠谱门店推荐+金价换算公式 - 奢侈品回收变现站
  • OneNote迁移终极指南:用onenote-md-exporter实现高效无损转换
  • AI做LinkedIn运营的5个致命误区(92%企业正在踩坑):基于178家B2B客户A/B测试数据的深度复盘
  • 2026 临沂全域黄金上门回收深度测评|无损耗扣费 6 家持证实体门店全解析 - 不晚生活号
  • 3步解锁Wand游戏修改器的本地增强方案
  • B站缓存视频转换指南:3步将m4s文件转换为MP4永久保存
  • Windows Terminal完全指南:打造你的高效命令行工作环境
  • LibVMI事件响应机制:如何实现内存访问拦截与指令模拟
  • 仅需3行命令实现Ollama模型无损量化?别信营销话术——我们逆向了ollama run源码,还原真实量化链路8个关键Hook点
  • Obsidian模板库终极指南:3步打造高效个人知识管理系统