取绝对值的时候肯定都是针对有符号数来取的,然后存入无符号数中。
对于有符号数在寄存器中的存储,是默认最高位为符号位, 低位为数据位(正数源码,负数补码),对于正数,我们可以直接将数据赋给无符号寄存器(这个寄存器的位宽至少要大于或等于数据位)。而对于负数,我们需要对数据位取反加一,然后将数据赋给无符号寄存器。有的时候我们的这个无符号寄存器位数比较大的时候,若数据位负数,可以直接将有符号寄存器直接不考虑符号位取反加一。

如上图,有符号寄存器在给下一级寄存器赋值的时候,对于最高位的符号位,是默认向高位补全的,就如上面的-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取绝对值代码设计相关推荐

  1. Verilog RTL 代码设计新手上路

    1.      做一个4选1的mux,并且进行波形仿真 和2选1的mux对比,观察资源消耗的变化: 实验分析:4选1的mux实际上就是在2选1的mux上进行拓展,选用2位的控制信号控制4位输入信号的选 ...

  2. Verilog RTL 代码设计示例

    实验一.做一个4选1的mux,并且进行波形仿真和2选1的mux对比,观察资源消耗的变化 四选一mux代码如下: RTL视图如下: 波形仿真如下: 2选1的mux资源消耗情况: 4选1的mux资源消耗情 ...

  3. Verilog RTL 代码设计——译码器计数器

    实验1:设计4-16译码器 方法一:行为描述方式--使用CASE语句 1.代码 module decoder4_16A(out,in); output[15:0] out;input[3:0] in; ...

  4. 【 FPGA 】MATLAB 生成 FIR 滤波器的操作步骤(包括生成Verilog HDL代码以及仿真过程)

    使用MATLAB生成滤波器有很多学问,这里只是作为初步的探索,和FPGA的更多结合,也正在探索中,相关博文例如:[ FPGA ]FIR滤波器目录,该专题目录正在记录我学习FIR滤波器的过程. MATL ...

  5. 【Verilog HDL学习之路】第一章 Verilog HDL 数字设计总论

    1 Verilog HDL 数字设计总论 1.1 几个重要的概念 EDA(Electronic Design Automation) 电子技术自动化 EDA工具 类似于软件工程中的IDE(集成开发环境 ...

  6. 基于Verilog使用Quartus设计数字秒表和数字时钟

    目录 一.数字秒表 1.1 新建工程 1.2 添加 Verilog 文件 1.3 添加 VWF 文件 1.4 波形仿真 二.多功能数字钟 三.总结 本文内容:使用 Quartus 基于 Verilog ...

  7. 1 - 基本逻辑门代码设计和仿真

    1 - 基本逻辑门代码设计和仿真 设计流程的改变: 反相器: 八位反相器: 与非门: 四位与非门: 位逻辑操作运算符: 多位宽电路符号图画法(打斜杠写数字): 代码结构: 时间作者 module 功能 ...

  8. 计算机组成原理课程设计:基于FPGA的Verilog模型机设计。

    理解简单模型机的工作原理,理解程序计数器,算数逻辑运算单元,控制单元,的工作原理.学会设计以及使用指令完成一定的功能,并将程序写入FPGA开发板并结合led灯数码管予以显示. 通过模型机设计可以掌握用 ...

  9. Verilog RTL代码设计规范简单整理总结

    目录 1宗旨 2 IP的RTL设计文件的建立 3 TOP集成的设计文件的建立 4 文件头 5 宏定义 6 端口定义 6.1 IP设计中的端口定义 6.2 TOP集成中的端口定义 7 TOP模块的集成 ...

  10. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)

    系列博客 1. 改善代码设计 -- 优化函数的构成(Composing Methods) 2. 改善代码设计 -- 优化物件之间的特性(Moving Features Between Objects) ...

最新文章

  1. Oracle常用sql(持续更新)
  2. 如何在win2003下安装sql2008[多次安装sql2008失败者必看]
  3. vue 按钮多次点击重复提交数据
  4. 如何用Java代码在SAP Marketing Cloud里创建contact数据
  5. windows同时安装python2和3编码_Windows同时安装多个版本,python2和python3,window
  6. 让浏览器认为现在处于登录状态
  7. 按键精灵调用迅雷下载文件
  8. 01 辅助函数之加密函数
  9. 剪花布条(HDU-2087)
  10. [转载]SIFT(尺度不变特征变换)算法小结
  11. 结巴分词代码java_java版结巴分词工具
  12. 【信息学奥赛一本通】网址链接
  13. 名企真题-警察抓小偷游戏——数学
  14. python学习----登陆
  15. MIPI 和 DSI 协议
  16. python中x 是什么意思_python中x[::]什么意思
  17. 有关于3GPP SUL的一些学习
  18. JavaScript說分明
  19. WOT干货大放送:大数据架构发展趋势及探索实践分享
  20. 程序大牛必备精品社区

热门文章

  1. 前端工程师行业现状怎么样?前景如何?
  2. 利用学生身份“白嫖”-教育优惠
  3. VirtualBox安装增强功能
  4. 通用软件体系结构风格总结为五个大类
  5. Mysql查询排名10到20名
  6. 学习方法-北大学霸(02)初级技能
  7. 计算机浏览记录删除,如何完全删除本地计算机上的浏览历史记录?如何从计算机中完全删除Internet访问...
  8. POJO、PO、DTO、DAO、BO、VO需要搞清楚的概念
  9. android系统存储空间不足怎么办,手机内存不足怎么办?手机内存不足如何清理?...
  10. BZOJ2001 HNOI2010 城市建设