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

HDLBits--Verilog习题记录1

时间:2022-12-24 13:33:54浏览次数:37  
标签:全加器 -- 99 Verilog carry 100 习题 adder

本文档是Verilog编程题的解题记录

 

1.Verilog Language--more Verilog features---Generate for-loop:100-bit binary adder2

题目说明:

Create a 100-bit binary ripple-carry adder by instantiating 100 full adders. The adder adds two 100-bit numbers and a carry-in to produce a 100-bit sum and carry out. To encourage you to actually instantiate full adders, also output the carry-out from each full adder in the ripple-carry adder. cout[99] is the final carry-out from the last full adder, and is the carry-out you usually see.

译文

通过实例化 100 个全加器来创建一个 100 位二进制纹波进位加法器。 加法器将两个 100 位数字和一个进位相加以产生 100 位和并执行。 为了鼓励您实际实例化全加器,还要输出纹波进位加法器中每个全加器的进位输出。 cout[99] 是最后一个全加器的最终进位,也是您通常看到的进位。

 

解题思路:已知两个一位的全加器公式

 

 可以使用for循环,遍历每一位即可得到100位的全加器

代码:

module top_module( 
    input [99:0] a, b,
    input cin,
    output [99:0] cout,
    output [99:0] sum );
    
    integer i=0;
    reg med;
    
    always@(*)
        begin
            med=cin;
            for(i=0;i<100;i=i+1) 
                begin
                    sum[i]=med^a[i]^b[i];
                    cout[i]=(a[i]&b[i])|((a[i]^b[i])&med);
                    med=cout[i];
                end        
        end
endmodule      

 

标签:全加器,--,99,Verilog,carry,100,习题,adder
From: https://www.cnblogs.com/yphasaki/p/17002798.html

相关文章

  • 初识java
    配置完环境之后,让我们来写出第一个Java程序吧!Hello,world!创建一个后缀名为.java的文件,并使用下载好的文本编辑器打开创建一个Java基本类publicclassHello{//基本......
  • 1005.Django自定义过滤器及标签
    一、关于自定义自定义的引入内置函数--------->自定义函数内置模块--------->自定义模板内置过滤器------>自定义过滤器内置标签--------->自定义标签二、文件路径配......
  • 博客搬家通知
    博客搬家通知由于博客访问量的问题,现将博客园中的博客搬家到CSDN中,以后会在博客园和CSDN中同步更新:博客园博客地址:https://www.cnblogs.com/ppqppl/CSDN博客......
  • P1523 旅行商简化版
    简化题意:给定\(n\)个点,要求从最左端的点到最右端的点之间寻找两条互不重复的路径,两条路径经过所有点,且路径长度最小。输出最短路径长度。思路:动态规划。应该也算比较......
  • centos 启动出现:you are in emergency mode
    本机是centosstream9。启动后,进不了系统登录界面。刚刚开始我是认为是不是我系统忘记关闭centos自动升级导致升级带来的问题。开机的时候遇到如下图:按Control-D。如下图,通......
  • SRE从CMDB到SMDB的自动化探索演进——面向服务的运维
    SRE和系统运维的最大区别,我认为SRE得在系统运维的基础上研究业务,研究系统架构、产品架构,SRE面向的是用户稳定性。大型互联网系统,模块多、依赖关系和运行环境复杂,如果不了解......
  • 通过dremio 一个单元测试了解基本查询处理过程
    dremio属于一个比较复杂的系统,官方有不少模块,官方同时也包含了一个不错的单元测试可以基本了解查询的处理从session到查询,到sql解析,关系节点转换,逻辑计划器以及物理计......
  • 《wireshark网络分析的艺术》总结
    《wireshark网络分析的艺术》《linux为什么卡住了?》现象:ssh登陆某些linux服务器时,输完用户名会卡住10秒抓包分析:发现linux服务器会向dns服务器进行进行反向解析(进行2......
  • Linux 平台的最强 docker 管理面板 Portainer
    PortainerPortainer是一个可视化的Docker操作界面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示......
  • 初识Java创建Java运行环境
    三高:高可用、高性能、高并发Java的特性java是一门从C语言/C++作为参考,所改编出的一款全新的计算机语言,其原始名称为:C++--但因一些原因后改名为Javajava是一款面向对象......