「Verilog学习笔记」移位运算与乘法
专栏前言
本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网


分析
1、在硬件中进行乘除法运算是比较消耗资源的一种方法,想要在不影响延迟并尽量减少资源消耗,必须从硬件的特点上进行设计。根据寄存器的原理,由于是二进制,所以进位和退位为x2或者/2,同样除7可以使用进位3然后减去本身的做法,这样就将乘除法运算转化为位运算,这是一种比较简单的整数运算处理。
2、 需要给出一个计数器的状态机,注意d输入不是随时有效的,只有在cnt计数为0的那个时钟沿,d输入有效,因此需要设计一个寄存器din,在cnt为0时候锁存d的值
`timescale 1ns/1ns
module multi_sel(
input [7:0]d ,
input clk,
input rst,
output reg input_grant,
output reg [10:0]out
);
//*************code***********//reg [1:0] cnt ; reg [7:0] din ; always @ (posedge clk or negedge rst) begin if (~rst) begin cnt <= 0 ; out <= 0 ; input_grant <= 0 ; din <= 0 ; end else begin cnt <= (cnt + 1) % 4 ; // cnt <= cnt + 1 由于是2位的寄存器 溢出后自动清0 两种写法皆可case (cnt) 0 : begin din <= d ; input_grant <= 1 ; out <= d ; end 1 : begin input_grant <= 0 ;out <= (din << 2) - din ; end 2 : begininput_grant <= 0 ; out <= (din << 3) - din ; end 3 : begin input_grant <= 0 ; out <= din << 3 ; end endcaseend end //*************code***********//
endmodule
相关文章:
「Verilog学习笔记」移位运算与乘法
专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 1、在硬件中进行乘除法运算是比较消耗资源的一种方法,想要在不影响延迟并尽量减少资源消耗,必须从硬件的特点上进行设计。根据寄存器的原理&a…...
静态、友好、内在:解析C++中的这些特殊元素和对象复制的优化
W...Y的主页 😊 代码仓库分享💕 🍔前言: 前面我们学习了C中关于类与对象的许多知识点,今天我们继续学习类与对象,最后再总结一下类与对象中的一些关键字内容,以及需要注意的细节。满满的干货…...
【RabbitMQ】 RabbitMQ 消息的延迟 —— 深入探索 RabbitMQ 的死信交换机,消息的 TTL 以及延迟队列
文章目录 一、死信交换机1.1 什么是死信和死信交换机1.2 死信交换机和死信队列的创建方式 二、消息的 TTL2.1 什么是消息的 TTL2.2 基于死信交换机和 TTL 实现消息的延迟 三、基于 DelayExchang 插件实现延迟队列3.1 安装 DelayExchang 插件3.2 DelayExchang 实现消息延迟的原理…...
CVE-2023-34040 Kafka 反序列化RCE
漏洞描述 Spring Kafka 是 Spring Framework 生态系统中的一个模块,用于简化在 Spring 应用程序中集成 Apache Kafka 的过程,记录 (record) 指 Kafka 消息中的一条记录。 受影响版本中默认未对记录配置 ErrorHandlingDeserializer,当用户将容…...
全局变量和局部变量在for循环的使用
imageloc字典作为全局变量,然后添加到全局的列表中,每次for循环都会将最新的元素改变之前for循环添加的元素。而imageloc字典作为局部变量,则不会影响。 import numpy as np originaljson [{"joints_vis": [1,1,1,1,1,1,1,1,1,1,…...
pytorch collate_fn测试用例
collate_fn 函数用于处理数据加载器(DataLoader)中的一批数据。在PyTorch中使用 DataLoader 时,通过设置collate_fn,我们可以决定如何将多个样本数据整合到一起成为一个 batch。在某些情况下,该函数需要由用户自定义以满足特定需求。 import …...
【qemu逃逸】HITB2017-babyqemu 2019数字经济-qemu
前言 由于本地环境问题,babyqemu 环境都没有起起,这里仅仅做记录,exp 可能不正确。 HITB2017-babyqemu 设备逆向 设备定位啥的就不说了,先看下实例结构体: 其中 dma_state 结构体如下: 这里看字段猜测…...
Docker Compose学习笔记
Docker Compose用来做什么? Docker Compose 是Docker官方的开源项目。 Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single …...
基于树 二叉树的回溯搜索算法(DPLL)
1)全称:Davis-Putnam-Logemann-Loveland 2)思想:基于树/二叉树的回溯搜索算法,主要基于两种策略。 单子句规则:如果一个CNF范式中存在单子句L(含有一个文字的子句),取L为…...
【嵌入式】适用于ESP32/ESP8266远程自动烧录工具
文章目录 介绍开始使用下载项目开启服务端开始远程烧录 后记 介绍 esp_remote_flash_tool 是一款基于 esptool.py 的远程自动烧录工具,支持 ESP32 和 ESP8266。 使用场景 基于 ESP-IDF 、ESP8266 NONO SDK、ESP8266 RTOS SDK 进行开发的项目项目代码存储在 Linux…...
服务器遭受攻击如何处理(记录排查)
本文的重点是介绍如何鉴别安全事件以及保护现场的方法,以确保服务器负责人能够在第一时间对安全攻击做出反应,并在最短时间内抵御攻击或减少攻击所带来的影响。 在服务器遭遇疑似安全事件时,通常可以从账号、进程、网络和日志四个主要方面进…...
分享81个工作总结PPT,总有一款适合您
分享81个工作总结PPT,总有一款适合您 PPT下载链接:https://pan.baidu.com/s/13hyrlZo2GhRoQjI-6z31-w?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知识付…...
什么是DITA?从百度的回答说起
▲ 搜索“大龙谈智能内容”关注GongZongHao▲ 什么是DITA? 把这个问题输入百度,获得以下回答: DITA 是“Darwin Information Typing Architecture”(达尔文信息类型化体系结构)的缩写,它是IBM 公司为OASIS 所支持…...
线扫相机DALSA软件开发套件有哪些
Win10和Win7系统完整SDK目录截图: Sapera Configuration 缓存与内存管理,以及通信端口配置工具,部分功能等效于Detection(查找相机)内的Settings。 Sapera Log Viewer 打开Log Viewer后会显示之前发生过的所有与Sapera LT软件有关的运行信息…...
Scala集合操作
1 集合简介 Scala 中拥有多种集合类型,主要分为可变的和不可变的集合两大类: 可变集合: 可以被修改。即可以更改,添加,删除集合中的元素; 不可变集合类:不能被修改。对集合执行更改,…...
SQL备忘--特殊状态“未知“以及“空值NULL“的判断
一、新逻辑状态:未知 对于大多数其他语言的逻辑判断,一般只有两种结果:真(TURE)或假(FALSE)但在SQL中,还会有第三种判断结果:未知(UNKNOWN),表示无法判断出真或者假。 未知状态会影响传统逻辑运算&#x…...
《Pytorch新手入门》第一节-认识Tensor
《Pytorch新手入门》第一节-认识Tensor 一、认识Tensor1.1 Tensor定义1.2 Tensor运算操作1.3 Tensor与numpy转换 参考《深度学习框架PyTorch:入门与实践_陈云(著)》 一、认识Tensor 1.1 Tensor定义 Tensor 是 PyTorch 中重要的数据结构,可认为是一个高…...
【JAVA学习笔记】55 - 集合-Map接口、HashMap类、HashTable类、Properties类、TreeMap类(难点)
项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter14/src/com/yinhai/map_ Map接口 一、Map接口的特点(难点) 难点在于对Node和Entry和EntrySet的关系 注意:这里讲的是JDK8的Map接口特点 Map java 1) Map与Collect…...
Pytorch图像模型转ONNX后出现色偏问题
本篇记录一次从Pytorch图像处理模型转换成ONNX模型之后,在推理过程中出现了明显色偏问题的解决过程。 问题描述:原始pytorch模型推理正常,通过torch.onnx.export()函数转换成onnx之后,推理时出现了比较明显的颜色偏差。 原始模型…...
插值表达式 {{}}
前言 持续学习总结输出中,今天分享的是插值表达式 {{}} Vue插值表达式是一种Vue的模板语法,我们可以在模板中动态地用插值表达式渲染出Vue提供的数据绑定到视图中。插值表达式使用双大括号{{ }}将表达式包裹起来。 1.作用: 利用表达式进行…...
Verilog仿真踩坑记:为什么你的测试用例‘通过’了,但电路其实是错的?(附X态检测代码)
Verilog仿真中的X态陷阱:如何避免“虚假通过”的致命错误 数字电路仿真中,最危险的场景莫过于测试结果显示“Passed”,但实际芯片却存在严重功能缺陷。这种“虚假通过”现象往往源于Verilog中X态(未知状态)的隐蔽特性…...
如何用Win11Debloat让你的Windows系统速度提升70%:终极优化指南
如何用Win11Debloat让你的Windows系统速度提升70%:终极优化指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutt…...
Nunchaku-FLUX.1-dev开源大模型部署案例:电商素材批量生成零API成本
Nunchaku-FLUX.1-dev开源大模型部署案例:电商素材批量生成零API成本 1. 引言 如果你正在经营一家电商店铺,或者从事内容创作、设计工作,那么对图片素材的需求一定不小。从商品主图、详情页配图,到社交媒体海报、广告素材&#x…...
pyenv多版本Python管理实战:从安装到日常开发常用命令大全
pyenv多版本Python管理实战:从安装到日常开发常用命令大全 作为Python开发者,你是否经常遇到这样的困扰:项目A需要Python 3.6,项目B需要Python 3.9,而本地环境只能安装一个版本?或者团队协作时,…...
Zotero中文文献管理终极指南:茉莉花插件一键解决三大痛点
Zotero中文文献管理终极指南:茉莉花插件一键解决三大痛点 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 如果你正在使…...
不只是安装:深入理解TI毫米波雷达开发套件(MMWCAS-RF-EVM)的软件生态与数据流
不只是安装:深入理解TI毫米波雷达开发套件(MMWCAS-RF-EVM)的软件生态与数据流 毫米波雷达技术正在重塑自动驾驶、工业检测和智能安防等领域,而TI的MMWCAS-RF-EVM评估板作为行业标杆工具,其真正的价值往往被简化为"…...
PFC(5.0)模拟:GBM模型(grain- based model ) pb-sj或pb-...
PFC(5.0)模拟:GBM模型(grain- based model ) pb-sj或pb-pb 单轴压缩。 模拟花岗岩等矿物晶体岩石,多种矿物晶体模型,其中矿物种类 数量分布可以自定义。 可以监测sj裂纹,和各矿物内裂纹。PFC5.0的GBM模型玩岩石破裂是真…...
Pi0具身智能v1快速部署指南:一键启动交互测试页面
Pi0具身智能v1快速部署指南:一键启动交互测试页面 1. 环境准备与镜像部署 1.1 选择合适的基础环境 在开始部署Pi0具身智能v1之前,请确保您的平台满足以下基本要求: 硬件配置:建议至少16GB显存的GPU(如NVIDIA RTX 3…...
成都美容院灯箱技术白皮书:2024年行业趋势与落地实践指南
美容院灯箱:不只是照明,更是品牌灵魂的窗口走进任何一条成都的商业街,你很难忽视那些光彩夺目的美容院灯箱。它们不仅仅是照明工具,更是品牌形象的第一道防线。有趣的是,很多人会误以为灯箱只是‘打个光’那么简单&…...
ESP32S3-Cam + MPU6050 DMP移植避坑实录:从编译报错到姿态数据稳定输出的完整流程
ESP32S3-Cam与MPU6050 DMP移植实战:从编译报错到稳定姿态解算的全流程解析 当ESP32S3-Cam遇上MPU6050的DMP(数字运动处理器)功能,本应是物联网项目中实现低成本姿态检测的完美组合。但实际移植过程中,开发者往往会遭遇…...

