Verilog取绝对值代码设计
取绝对值的时候肯定都是针对有符号数来取的,然后存入无符号数中。
对于有符号数在寄存器中的存储,是默认最高位为符号位, 低位为数据位(正数源码,负数补码),对于正数,我们可以直接将数据赋给无符号寄存器(这个寄存器的位宽至少要大于或等于数据位)。而对于负数,我们需要对数据位取反加一,然后将数据赋给无符号寄存器。有的时候我们的这个无符号寄存器位数比较大的时候,若数据位负数,可以直接将有符号寄存器直接不考虑符号位取反加一。
如上图,有符号寄存器在给下一级寄存器赋值的时候,对于最高位的符号位,是默认向高位补全的,就如上面的-3
,假设用4bit的有符号寄存器存储,第4位为符号位1,则如果将这个寄存器赋给大于4bit的寄存器的时候(无论有符号还是无符号),默认向高位补符号位。
实现代码:
reg signed [3:0] a; //有符号数 -7~7
reg [3:0] b; //无符号数 位宽最小可以设置为3bit
always@(posedge clk)
beginb <= a[3] ? ~a+1 : a;
end
Verilog取绝对值代码设计相关推荐
- Verilog RTL 代码设计新手上路
1. 做一个4选1的mux,并且进行波形仿真 和2选1的mux对比,观察资源消耗的变化: 实验分析:4选1的mux实际上就是在2选1的mux上进行拓展,选用2位的控制信号控制4位输入信号的选 ...
- Verilog RTL 代码设计示例
实验一.做一个4选1的mux,并且进行波形仿真和2选1的mux对比,观察资源消耗的变化 四选一mux代码如下: RTL视图如下: 波形仿真如下: 2选1的mux资源消耗情况: 4选1的mux资源消耗情 ...
- Verilog RTL 代码设计——译码器计数器
实验1:设计4-16译码器 方法一:行为描述方式--使用CASE语句 1.代码 module decoder4_16A(out,in); output[15:0] out;input[3:0] in; ...
- 【 FPGA 】MATLAB 生成 FIR 滤波器的操作步骤(包括生成Verilog HDL代码以及仿真过程)
使用MATLAB生成滤波器有很多学问,这里只是作为初步的探索,和FPGA的更多结合,也正在探索中,相关博文例如:[ FPGA ]FIR滤波器目录,该专题目录正在记录我学习FIR滤波器的过程. MATL ...
- 【Verilog HDL学习之路】第一章 Verilog HDL 数字设计总论
1 Verilog HDL 数字设计总论 1.1 几个重要的概念 EDA(Electronic Design Automation) 电子技术自动化 EDA工具 类似于软件工程中的IDE(集成开发环境 ...
- 基于Verilog使用Quartus设计数字秒表和数字时钟
目录 一.数字秒表 1.1 新建工程 1.2 添加 Verilog 文件 1.3 添加 VWF 文件 1.4 波形仿真 二.多功能数字钟 三.总结 本文内容:使用 Quartus 基于 Verilog ...
- 1 - 基本逻辑门代码设计和仿真
1 - 基本逻辑门代码设计和仿真 设计流程的改变: 反相器: 八位反相器: 与非门: 四位与非门: 位逻辑操作运算符: 多位宽电路符号图画法(打斜杠写数字): 代码结构: 时间作者 module 功能 ...
- 计算机组成原理课程设计:基于FPGA的Verilog模型机设计。
理解简单模型机的工作原理,理解程序计数器,算数逻辑运算单元,控制单元,的工作原理.学会设计以及使用指令完成一定的功能,并将程序写入FPGA开发板并结合led灯数码管予以显示. 通过模型机设计可以掌握用 ...
- Verilog RTL代码设计规范简单整理总结
目录 1宗旨 2 IP的RTL设计文件的建立 3 TOP集成的设计文件的建立 4 文件头 5 宏定义 6 端口定义 6.1 IP设计中的端口定义 6.2 TOP集成中的端口定义 7 TOP模块的集成 ...
- 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)
系列博客 1. 改善代码设计 -- 优化函数的构成(Composing Methods) 2. 改善代码设计 -- 优化物件之间的特性(Moving Features Between Objects) ...
最新文章
- Oracle常用sql(持续更新)
- 如何在win2003下安装sql2008[多次安装sql2008失败者必看]
- vue 按钮多次点击重复提交数据
- 如何用Java代码在SAP Marketing Cloud里创建contact数据
- windows同时安装python2和3编码_Windows同时安装多个版本,python2和python3,window
- 让浏览器认为现在处于登录状态
- 按键精灵调用迅雷下载文件
- 01 辅助函数之加密函数
- 剪花布条(HDU-2087)
- [转载]SIFT(尺度不变特征变换)算法小结
- 结巴分词代码java_java版结巴分词工具
- 【信息学奥赛一本通】网址链接
- 名企真题-警察抓小偷游戏——数学
- python学习----登陆
- MIPI 和 DSI 协议
- python中x 是什么意思_python中x[::]什么意思
- 有关于3GPP SUL的一些学习
- JavaScript說分明
- WOT干货大放送:大数据架构发展趋势及探索实践分享
- 程序大牛必备精品社区
热门文章
- 前端工程师行业现状怎么样?前景如何?
- 利用学生身份“白嫖”-教育优惠
- VirtualBox安装增强功能
- 通用软件体系结构风格总结为五个大类
- Mysql查询排名10到20名
- 学习方法-北大学霸(02)初级技能
- 计算机浏览记录删除,如何完全删除本地计算机上的浏览历史记录?如何从计算机中完全删除Internet访问...
- POJO、PO、DTO、DAO、BO、VO需要搞清楚的概念
- android系统存储空间不足怎么办,手机内存不足怎么办?手机内存不足如何清理?...
- BZOJ2001 HNOI2010 城市建设