首页 > 其他分享 >HDLBits--Verilog习题记录2

HDLBits--Verilog习题记录2

时间:2022-12-24 16:47:02浏览次数:39  
标签:digit input -- BCD Verilog fadd bcd 100 习题

2.verilog language--more verilog features --Generate for loop:100-digit BCD adder

题目

You are provided with a BCD one-digit adder named bcd_fadd that adds two BCD digits and carry-in, and produces a sum and carry-out.

module bcd_fadd (
    input [3:0] a,
    input [3:0] b,
    input     cin,
    output   cout,
    output [3:0] sum );

Instantiate 100 copies of bcd_fadd to create a 100-digit BCD ripple-carry adder. Your adder should add two 100-digit BCD numbers (packed into 400-bit vectors) and a carry-in to produce a 100-digit sum and carry out.

译文:为您提供了一个名为 bcd_fadd 的 BCD 一位加法器,它将两个 BCD 数字和进位相加,并产生和和进位输出。

模块 bcd_fadd (
输入 [3:0] a,
输入 [3:0] b,
输入辛,
输出计数,
输出[3:0]总和);
实例化 100 个 bcd_fadd 副本以创建一个 100 位 BCD 纹波进位加法器。 您的加法器应添加两个 100 位 BCD 数字(打包成 400 位向量)和一个进位以产生 100 位总和并执行。

解题思路:设置中间变量数组记录out,generate结合for生成多个模块的用法

代码

module top_module( 
    input [399:0] a, b,
    input cin,
    output cout,
    output [399:0] sum );
    
    wire[400:0] t; 
    
    
    
    bcd_fadd U0(a[3:0],b[3:0],cin,t[4],sum[3:0]);
    genvar        i ;
    generate  
        for(i=4;i<400;i=i+4)begin:tt
            bcd_fadd Ui(a[i+3:i],b[i+3:i],t[i],t[i+4],sum[i+3:i]);         
            end
    endgenerate
   assign cout=t[400];

endmodule

 

标签:digit,input,--,BCD,Verilog,fadd,bcd,100,习题
From: https://www.cnblogs.com/yphasaki/p/17002997.html

相关文章

  • 基于SqlSugar的开发框架循序渐进介绍(23)-- Winform端管理系统中平滑增加对Web API对接
    在前面随笔介绍的基于SqlSugar的WInform端管理系统中,数据提供者是直接访问数据库的方式,不过窗体界面调用数据接口获取数据的时候,我们传递的是标准的接口,因此可扩展性比较好......
  • 项目实战:JavaFX + Netty 仿微信聊天程序(注册、登录、查好友、聊天)
    记录一下使用JavaFX+Netty开发仿微信聊天程序---米虫IM。功能需求米虫IM已经完成的功能有:用户注册功能用户登录功能搜索好友功能添加好友功能文本聊天功能离......
  • 使用PicGo+阿里云OSS实现md文档图片上传
    使用PicGo+阿里云OSS实现md文档图片上传这次给大家带来的是PicG0+阿里云Oss+typora的图床环境搭建,帮助大家提高工作效率+写博客速度!1.typora安装给大家一个链接:typora,打......
  • 华为云CodeArts Req需求管理工具,7大特性限时免费体验
    摘要:一图了解什么是华为云CodeArtsReq本文分享自华为云社区《华为云CodeArtsReq需求管理工具,7大特性限时免费体验》,作者:华为云PaaS服务小智。一图了解什么是华为云Code......
  • VS插件
    LiveServer——浏览器自动刷新安装以下插件安装后,右击插件名,点击扩展设置在输入框中输入custom找到CustomBrowser,设置打开默认浏览器为chrome在html页面中右......
  • IfcChangeActionEnum
    IfcChangeActionEnum类型定义IfcChangeActionEnum标识在上次会话期间对象可能发生的更改类型(例如,添加、修改、删除)。在部分模型交换场景中需要此信息,以便应用程序或模型......
  • ts10_使用webpack打包ts文件3
    1.为了让编译后的JS文件能给兼容更多的浏览器我们还需要配置babel运行命令npmi-D @babel/core @babel/preset-env babel-loader core-js来安装相关插件2.安装完成......
  • C#封装GRPC类库及调用简单实例
    一个简单的C#实例。包括:GRPC文件的创建生成、服务端和客户端函数类库的封装、创建服务端和客户端调用测试。若有错误或更好的方法还请指正。1、创建并生成GRPC服务文件......
  • 特殊字符表
    <html><metacharset="gbk"><title>特殊字符</title><prestyle="font:14pt宋体">·、。―~‖…‘’“”′″〔〕〈〉《》「」『』〖〗【】±......