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

【【verilog 典型电路设计之加法器树乘法器】】

verilog 典型电路设计之加法器树乘法器

加法器树乘法器
加法器树乘法器的设计思想是“移位后加”,并且加法运算采用加法器树的形式。乘法运算的过程是,被乘数与乘数的每一位相乘并且乘以相应的权值,最后将所得的结果相加,便得到了最终的乘法结果。
在这里插入图片描述
首先我们明确一个观点 进行4位数乘法应该来说是最多会得到 8 位
因为4位数最大是15 15乘15得到的是225 在可控制的 128 到 256 之间 所以我们基本确定 临时变量选取为【7:0】 即可
然后下一步我们通过实际例子来确定乘法器简单的逻辑
比如 两个数 1001 乘 1010
在这里插入图片描述
我们观察可知得到【6:0】 完全可以用[7:0]去覆盖 还有 得到的四位暂存下来就是0 乘1001 1乘1001 0 乘1001 1乘1001
每一个进行小移位之后相加 即可
四位暂存数,就好比 第一位确定的是[3:0] 第二位确定的是[4:1] 第三位是[5:2] 第四位是[6:3] 在面对是[7:0]中 我们可以采取在其他位补0 的做法 保证它的适用性

以下是verilog的代码

module mul_addtree(mul_a,mul b,mul_out);
input[3:0] mul_a,mul_b;
wire[7:0] mul_out;
wire[7:0] stored0,stored1,stored2,stored3;
wire[7:0] add01, add23;
assign
stored3=mul_b[3]?{1'b0,mul_a,3'b0}:8'b0;
assign
stored2=mul_b[2]?{2'b0,mul_a,2'b0}:8'bo;
assign
stored1=mul_b[1]?{3'b0,mul_a,1'b0}:8'b0;
assignstored0=mul_b[0]?{4'b0,mul_a}:8'b0;
assign add01=stored1+stored0;
assign add23=stored3+stored2;
assign mul_out=add01+add23;
endmodule

接下来
写下testbench

module mult_addtree_tb;
reg [3:0]mult_a;
reg [3:0]mult_b;
wire [7:0]mult_out;
mul_addtreeU1(.mul_a(mult_a),.mul_b(mult_b),.mul_out(mult_out));
initial
begin
mult_a=0; 
mult_b=0;
repeat(9)
begin
#20 
mult_a=mult_a+1;
mult_b=mult_b+1;
end
end

相关文章:

【【verilog 典型电路设计之加法器树乘法器】】

verilog 典型电路设计之加法器树乘法器 加法器树乘法器 加法器树乘法器的设计思想是“移位后加”,并且加法运算采用加法器树的形式。乘法运算的过程是,被乘数与乘数的每一位相乘并且乘以相应的权值,最后将所得的结果相加,便得到了…...

选择最适合自己的NIO, 一探流技术

目录 一、Channel1、FileChannel代码示例2、DatagramChannel代码示例3、SocketChannel 和 ServerSocketChannel代码示例 二、Buffer1、ByteBuffer示例代码2、CharBuffer示例代码3、ShortBuffer、IntBuffer、LongBuffer、FloatBuffer、DoubleBuffer 等示例代码 三、Selector1、S…...

智能家居(3)---socket网络控制线程封装

封装socket网络线程实现对智能家居中各种灯光的控制 main.Pro(主函数) #include <stdio.h> #include "controlDevice.h" #include "inputCommand.h" #include <pthread.h>struct Devices *pdeviceHead NULL; //设备工厂链表…...

ubuntu 安装 emscripten 时 install latest 安装报错问题

学习官网参考&#xff1a;Compiling a New C/C Module to WebAssembly - WebAssembly | MDN (mozilla.org) 报错信息 形如&#xff1a; Error: Downloading URL https://storage.googleapis.com/webassembly/emscripten-releases-builds/linux/b90507fcf011da61bacfca613569…...

concrt140.dll丢失怎么恢复?教你5种修复方法

首先介绍一下concrt140.dll是什么 concrt140.dll是Microsoft Visual C Redistributable for Visual Studio 2015所需的一个动态链接库文件。它是用于支持C程序运行的重要组件之一。当系统中缺少或丢失concrt140.dll文件时&#xff0c;可能会导致一些程序无法正常运行。 首先&a…...

【Vue-Router】路由入门

路由&#xff08;Routing&#xff09;是指确定网站或应用程序中特定页面的方式。在Web开发中&#xff0c;路由用于根据URL的不同部分来确定应用程序中应该显示哪个内容。 构建前端项目 npm init vuelatest //或者 npm init vitelatest安装依赖和路由 npm install npm instal…...

蓝牙耳机运动耳机哪个好、好用的运动蓝牙耳机推荐

如今的蓝牙耳机已经成为手机的最佳伴侣&#xff0c;也是运动爱好者的必备装备。然而&#xff0c;在众多蓝牙耳机中做出选择可能会让人感到困惑。其实&#xff0c;在选购运动蓝牙耳机时需要注意的事项还挺多的&#xff0c;比如舒适度、稳定性和音质等多个方面,逐一对照这些要点来…...

大数据面试题:Kafka的ISR机制

面试题来源&#xff1a; 《大数据面试题 V4.0》 大数据面试题V3.0&#xff0c;523道题&#xff0c;679页&#xff0c;46w字 可回答&#xff1a;1&#xff09;从ISR踢出去之后呢&#xff1b;2&#xff09;一般Leader怎么判断Follower挂掉&#xff1f; 参考答案&#xff1a; …...

Windows:解决MySQL登录ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor=YES)问题

我在下载的MySQL是8.0.32版本&#xff0c;刚下的时候没什么问题第二天启动MySQL服务就出现了 ERROR 1045 (28000): Access denied for user rootlocalhost (using password: YES) 或 ERROR 1045 (28000): Access denied for user rootlocalhost (using password: NO) 这样的问题…...

springboot整合kafka多数据源

整合kafka多数据源 项目背景依赖配置生产者消费者消息体 项目背景 在很多与第三方公司对接的时候&#xff0c;或者处在不同的网络环境下&#xff0c;比如在互联网和政务外网的分布部署服务的时候&#xff0c;我们需要对接多台kafka来达到我们的业务需求&#xff0c;那么当kafk…...

基于CentOS 7 配置nginx负载均衡

搭建负载均衡服务的需求如下&#xff1a; 1 ) 把单台计算机无法承受的大规模并发访问或数据流量分担到多台节点设备上&#xff0c;分别进行处理&#xff0c; 减少用户等待响应的时间&#xff0c; 提升用户体验。 2 ) 单个重负载的运算分担到多台节点设备上做并行处理&#xff…...

WordToPDF2.java

用Java将Word转PDF 本例子测试了spire.doc.free-3.9.0.jar的包 <dependency><groupId> e-iceblue </groupId><artifactId>spire.doc.free</artifactId><version>3.9.0</version></dependency> package word;import com.spire.…...

k8s服务注册发现

Service 是 将运行在一个或一组pod上的网络应用程序公开为网络服务的方法。 定义service前端为service名称、ip、端口等不变的部分&#xff0c;后端为符合标签选择的pod集合 注册 通过api server提交注册service请求到DNSservice随后得到clusterIP&#xff08;虚拟ip地址&am…...

IK分词器升级,MySQL热更新助一臂之力

ik分词器采用MySQL热更新 ​ 官方所给的IK分词器只支持远程文本文件热更新&#xff0c;不支持采用MySQL热更新&#xff0c;没关系&#xff0c;这难不倒伟大的博主&#xff0c;给哈哈哈。今天就来和大家讲一下如何采用MySQL做热更新IK分词器的词库。 一、建立数据库表 CREATE…...

泛微 E-Office文件上传漏洞复现

声明 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 文章作者拥有对此文章的修改和解释权。如欲转载或传播此文章&#xff0c…...

bug的生命周期

bug的生命周期 bugbug的生命周期bug等级 bug 当且仅当规格说明书是存在的并且正确的&#xff0c;程序和规格说明书之间的不匹配才是错误当产品规格说明书没有提到时&#xff0c;以用户需求为准&#xff0c;当程序最终没有实现用户的合理预期的功能要求时&#xff0c;就是软件错…...

mysql分库分表相关

3小时快速上手sharding-jdbc 百亿级数据 分库分表 后面怎么分页查询&#xff1f; Java实战&#xff1a;教你如何进行数据库分库分表...

云原生k8s---资源限制、探针

目录 一&#xff1a;资源限制 1、资源限制原因 2、Pod 和 容器 的资源请求和限制 3、CPU 资源单位 4、内存 资源单位 5、事例 &#xff08;1&#xff09;事例一 &#xff08;2&#xff09;事例二 二&#xff1a;重启策略 1、重启策略模式 2、事例 三&#xff1a;探针…...

html2canvas生成图片地址Base64格式转成blob在转成file(二进制)可正常发送(保姆教程,复制粘贴可用)

开始: 最终结果: 1. html2canvas方法生成的图片地址已Base64编码形式放在img标签src中可直接展示生成的图片(注意页面标签获取位置,还有个setTimeout页面渲染需要时间) setTimeout(function () {var result {};v…...

将Linux上的cpolar内网穿透配置为开机自启动——“cpolar内网穿透”

将Linux上的cpolar内网穿透配置为开机自启动 文章目录 将Linux上的cpolar内网穿透配置为开机自启动前言一、进入命令行模式二、输入token码三、输入内网穿透命令 前言 我们将cpolar安装到了Ubuntu系统上&#xff0c;并通过web-UI界面对cpolar的功能有了初步了解。当然cpolar除…...

Herqles架构:量子比特读取的硬件高效判别器设计与FPGA实现

1. 项目概述&#xff1a;量子比特读取的精度与速度困局在量子计算的世界里&#xff0c;有一个操作看似基础&#xff0c;却直接决定了整个系统的上限&#xff1a;量子比特的读取。你可以把它想象成计算机的“内存读取”指令&#xff0c;但这里读取的不是0或1的确定性电压&#x…...

差分隐私矩阵机制与FFT优化:保护多轮迭代计算的高效方法

1. 差分隐私矩阵分解&#xff1a;从理论到工程实践在联邦学习、推荐系统这些需要频繁进行多轮迭代计算的场景里&#xff0c;我们常常面临一个核心矛盾&#xff1a;既要利用全体参与者的数据来训练一个高质量的全局模型&#xff0c;又要确保任何单个参与者的敏感信息不会在训练过…...

从电路振荡到种群竞争:常系数线性微分方程组在建模中的实战指南

从电路振荡到种群竞争&#xff1a;常系数线性微分方程组在建模中的实战指南微分方程是描述动态系统的数学语言&#xff0c;而常系数线性微分方程组则是其中最具工程实用价值的一类。不同于纯数学视角下的求解技巧&#xff0c;本文将带你穿越两个经典场景——电子工程中的RLC振荡…...

Keil µVision库模块选择问题解决方案

1. 问题现象解析在Keil Vision IDE 4.53.06版本中&#xff0c;当用户为C51/C251/C166工具链项目添加库文件时&#xff0c;可以通过Options for File对话框选择需要链接的特定模块。这个功能本应记住用户的选择&#xff0c;使得下次打开对话框时保持相同的模块选中状态。但实际使…...

书匠策AI深度拆解:2025年毕业论文竟然能这样“无痛通关“?|论文科普必看

各位正在被毕业论文反复折磨的同学们&#xff0c;今天这篇文章&#xff0c;我要用最接地气的方式&#xff0c;给你们拆解一个让我直呼"早该有了"的工具——书匠策AI&#xff08; 官网直达&#xff1a;www.shujiangce.com&#xff09;。 先说句大实话&#xff1a;写毕…...

山东防爆监控哪个品牌好用

在当前的工业生产环境中&#xff0c;尤其是矿山、石化、制药等高危行业&#xff0c;防爆监控设备已成为确保安全生产的重要工具。然而&#xff0c;面对市场上琳琅满目的品牌和产品&#xff0c;企业往往难以做出最佳选择。本次推荐的5家[主体类型]&#xff0c;均在山东防爆监控领…...

Lindy企业流程自动化实施全周期拆解:从0到1上线仅需14天的关键5步法

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Lindy企业流程自动化实施全周期拆解&#xff1a;从0到1上线仅需14天的关键5步法 Lindy 作为轻量级、高可扩展的流程自动化平台&#xff0c;其核心优势在于将复杂的企业级RPA与低代码逻辑深度融合&#…...

2026年亲测AI写作辅助软件指南(高效定稿版)

为解决学术写作中效率与合规两大核心痛点&#xff0c;本文精选8款高适配性AI论文写作工具&#xff08;按综合优先级排序&#xff09;&#xff0c;围绕中文学术规范适配、真实参考文献生成、格式标准化、高性价比四大核心维度筛选&#xff0c;同时配套分场景精准选型方案与学术合…...

85%企业将淘汰纯业务程序员!2026年前,大模型才是你的职业救命稻草!

文章指出传统技术岗面临淘汰风险&#xff0c;85%企业计划在2026年前淘汰纯业务型程序员。未来职场核心竞争力在于掌握大模型技术。文章强调大模型技术是技术人的时代红利&#xff0c;提供从入门到精通的全套视频教程&#xff0c;涵盖提示词工程、RAG、Agent等技术点。文章还分析…...

Java 零基础全套教程,数据结构与集合源码,笔记 168-174

Java 零基础全套教程&#xff0c;数据结构与集合源码&#xff0c;笔记 168-174 一、参考资料 【Java视频教程&#xff0c;java入门神器&#xff08;附300道Java面试题剖析&#xff09;】 https://www.bilibili.com/video/BV1PY411e7J6/?p168&share_sourcecopy_web&vd_…...