牛客网Verilog刷题——VL56

news2024/9/24 5:29:54

牛客网Verilog刷题——VL56

  • 题目
  • 答案

题目

  实现4bit无符号数流水线乘法器设计。电路的接口如下图所示:

在这里插入图片描述
  输入输出描述:

信号类型输入/输出位宽描述
clkwireInput1系统时钟信号
rst_nwireInput1异步复位信号,低电平有效
mul_awireInputsize乘数
mul_bwireInputsize被乘数
mul_outwireOutput2*size输出乘法结果

答案

`timescale 1ns/1ns

module multi_pipe#(
	parameter size = 4
)(
	input 						clk 		,   
	input 						rst_n		,
	input	[size-1:0]			mul_a		,
	input	[size-1:0]			mul_b		,
 
 	output	reg	[size*2-1:0]	mul_out		
);

//无符号流水线乘法器:每个时钟都更新输入的乘数和被乘数,在一个或者多个时钟后连续输出乘法器乘法结果

wire	[7:0]	temp	[size-1:0]; //逐个比特乘法
reg		[7:0]	adder01,adder23;  //加法器

genvar i;
//逐个比特乘法
generate
	for(i=0;i<size;i=i+1) begin:temp_block
		assign temp[i] = mul_b[i] ? mul_a<<i : 'd0; //用移位寄存器
		//assign temp[i] = mul_b[i] ? {{(size-i){1'b0}},mul_a,{(i){1'b0}}} : 'd0; //用拼接符
	end
endgenerate

//加法器
always @(posedge clk or negedge rst_n) begin
	if(!rst_n) begin
		adder01 <= 'd0;
		adder23 <= 'd0;
		mul_out <= 'd0;
	end
	else begin
		adder01 <= temp[0] + temp[1];
		adder23 <= temp[2] + temp[3];
		mul_out <= adder01 + adder23;
	end
end

endmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【动态规划part16】| 583.两个字符串的删除操作、72.编辑距离

&#x1f388;LeetCode583.两个字符串的删除操作 链接&#xff1a;583.两个字符串的删除操作 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 public int minDistance(String word1, Str…

基于Amoeba读写分离(三十六)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 今天要学的是基于Amoeba读写分离。Amoeba是一个开源的关系型数据库管理系统&#xf…

计网第四章网络层错题

4.1 没有要求结点要相邻&#xff0c;可不可靠主要取决于使用的协议&#xff0c;若使用有连接的 就可靠 2.C 本题易误选B 因为大家以为只能用ipv4 但是有特定的路由器可以连接IPv4和IPv6&#xff0c;所以网络层的协议也可以不同 C 路由器无法处理比网络层更高层次的数据 所以…

Redis集群Cluster搭建

Redis集群Cluster搭建 集群框架1、下载redis2.创建Cluster文件3.修改redis配置文件4.启动redis5.链接各个redis6.分配槽位7.添加从机节点&#xff08;备份Redis&#xff09;8.以集群方式登录9.使用开源Redis可视化客户端链接 集群框架 三个集群节点&#xff0c;每个节点有个副本…

Ubuntu安装MySQL 8.0与Navicat

目录 Ubuntu安装MySQL 8.0 1、更新软件包列表 2、安装 MySQL 8.0 3、启动 MySQL 服务 5、确保MySQL服务器正在运行 5、root 用户的密码 6、登录MySQL&#xff0c;输入mysql密码 7、MySQL默认位置 Ubuntu安装Navicat 1、下载 Navicat 2、额外的软件包 3、执行命令 U…

IDEA离线环境搭建远程开发-Windows

公司的云桌面实在太卡&#xff0c;多个微服务项目跑起来&#xff0c;直接无法进行其它编码工作&#xff0c;所以想到使用Idea提供的远程开发功能&#xff0c;将服务运行在服务器&#xff0c;电脑只提供给开发页面展示&#xff0c;提高效率。 环境介绍&#xff1a; 开发环境&…

python——案例六:清空列表用clear()方法实现

案例六&#xff1a;清空列表用clear()方法实现LIST[0,1,2,3,4,5] print(清空前&#xff1a;,LIST) LIST.clear() print(清空后&#xff1a;,LIST)

Carsim的基本功能介绍

Carsim 是一款汽车动力学模拟软件&#xff0c;它可以模拟车辆在路面上的运动和行驶行为&#xff0c;支持用户进行不同情况下的测试和研究。以下小师弟所了解的Carsim最基础的使用方法&#xff1a; 安装 Carsim 软件并打开。 Carsim是一个比较简单容易上手的软件&#xff0c;打…

保姆级教程,Linux服务器docker搭建jenkins持续集成一键部署SpringBoot项目(Gradle)

前言&#xff1a; 在后台项目开发过程从Java延伸到Kotlin开发&#xff0c;从maven pom到gradle&#xff0c;IDEA新项目SpringBoot init框架官方推荐kotlingradle&#xff0c;本章以此为jenkins持续集成做项目部署&#xff0c;服务器为Centos&#xff0c;JDK 17&#xff0c;Spr…

各种运算符

算术运算符 1.双目运算符 */%&#xff1a;从左到右优先级依次降低 一些注意事项&#xff1a; 1若a/b都为整型那么结果也为整型&#xff0c;如果ab其中有一个为实型&#xff0c;结果则为实型 求余运算符注意事项&#xff1a; 1运算对象必须为整数 2运算结果的整数跟左边数字的…

Go项目实现日志按时间及文件大小切割并压缩

关于日志的一些问题: 单个文件过大会影响写入效率&#xff0c;所以会做拆分&#xff0c;但是到多大拆分? 最多保留几个日志文件&#xff1f;最多保留多少天&#xff0c;要不要做压缩处理&#xff1f; 一般都使用 lumberjack[1]这个库完成上述这些操作 lumberjack //info文件wr…

linux用户密码存放在哪个文件

linux用户密码存放在“/etc/shadow”文件中。“/etc/shadow”文件又称为“影子文件”&#xff0c;用于存储Linux系统中用户的密码信息&#xff1b;该文件只有root用户拥有读权限&#xff0c;其他用户没有任何权限&#xff0c;这样就保证了用户密码的安全性。 本教程操作环境&am…

IOS看书最终选择|源阅读转换|开源阅读|IOS自签

环境&#xff1a;IOS想使用 换源阅读 问题&#xff1a;换新手机&#xff0c;源阅读下架后&#xff0c;没有好的APP阅读小说 解决办法&#xff1a;自签APP 转换源仓库书源 最终预览 &#xff1a;https://rc.real9.cn/ 背景&#xff1a;自从我换了新iPhone手机&#xff0c;就无法…

iOS 搭建组件化私有库

一、创建私有库索引 步骤1是在没有索引库的情况下或者是新增索引的时候才需要用到&#xff08;创建基础组件库&#xff09; 首先在码云上建立一个私有库索引&#xff0c;起名为SYComponentSpec 二、本地添加私有库索引 添加私有库索引 pod repo add SYComponentSpec https:/…

fiddler 手机抓包(含https) 完整流程

第一部分&#xff1a;下载并安装fiddler 一.使用任一浏览器搜索【fiddler下载安装】&#xff0c;并下载fiddler 安装包。 二.fiddler安装包下载成功后&#xff0c;将下载的fiddler压缩包解压到自定义文件夹【fiddler】或者解压到当前文件夹下&#xff0c;双击文件夹中的【fidd…

工作记录------单元测试(持续更新)

工作记录------单元测试 之前的工作中从来没有写过单元测试&#xff0c;新入职公司要求写单元测试&#xff0c; 个人觉得&#xff0c;作为程序员单元测试还是必须会写的 于此记录一下首次编写单元测试的过程。 首先引入单元测试相关的依赖 <dependency><groupId>…

二、数据结构7:KMP 模板题+算法模板(KMP字符串)

文章目录 算法模板KMP题目模板 模板题KMP字符串原题链接题目思路题解 算法模板 KMP题目模板 // s[]是长文本&#xff0c;p[]是模式串&#xff0c;n是s的长度&#xff0c;m是p的长度 求模式串的Next数组&#xff1a; for (int i 2, j 0; i < m; i ) {while (j &&…

Kafka3.0.0版本——Broker(Zookeeper服务端存储的Kafka相关信息)

目录 一、启动zookeeper集群及kafka集群服务启动1.1、先启动三台zookeeper集群服务&#xff0c;再启动三台kafka集群服务1.2、使用PrettyZoo连接zookeeper客户端工具 二、在zookeeper服务端存储的Kafka相关信息 一、启动zookeeper集群及kafka集群服务启动 1.1、先启动三台zook…

一篇文章带你彻底搞懂方法重写(override)和重载(overload)—菜鸟教程学习记录

一篇文章带你彻底搞懂方法重写(override)和重载(overload) ​ 这个其实我们在之前的java方法那一章节里面就提到了&#xff0c;这里更加深入一下&#xff0c;并且提供具体的例子。 重写(Override)基本概念&#xff1a; ​ Java方法**重写(Override)**指的是&#xff0c;子类…

02 笔记本电脑m.2硬盘更换

1 工具展示 SN570的2T硬盘。够用了。 对于这台华为&#xff0c;使用的螺丝刀批头是4或5毫米的六边形批头。如果出现打滑的情况&#xff0c;请不要用蛮力哦。 2 更换过程 使用螺丝刀拧走后盖的螺丝&#xff08;为了避免会出问题要再次打开&#xff0c;我到现在还没有把螺丝拧回…