verilog中的有符号数运算

http://hi.baidu.com/lixu1113/item/d00dc095f86aed48f142159a

verilog中的有符号数运算

有符号数的计算:若有需要关于有号数的计算,应当利用Verilog 2001所提供的signed及$signed()机制。

Ex:

input  signed [7:0] a, b;

output  signed [15:0] o;

assign o = a * b;

or

input   [7:0] a, b;

output   [15:0] o;

wire signed [15:0] o_sgn;

assisn o_sgn = $signed(a) * $signed(b);

assign o = $unsigned(o_sgn);

正负号的扩展:应多加利用Verilog的implicity signed extension,避免手动进行转换。

Ex:

input signed [7:0] a, b;

input signed [8:0] o;

assign o = a + b; // Verilog会自动进行符号的扩展。有号数与无号数的混合计算:不要在同一个verilog叙述中进行有号数与无号数的计算。应该要分成个别独立的叙述。在一个verilog叙述中只要有一个无号数的操作数,整个算式将被当成无号数进行计算。

input   [7:0] a;

input  signed [7:0] b;

output signed [15:0] o; // Don't do this: assign o = a * b;

// The $signed({1'b0, a}) can convert the unsigned number to signednumber.a

ssign o = $signed({1'b0, a}) * b;

input signed [7:0] a;output signed [15:0] o;

// Don't do this: assign o = a * 8'b10111111;

// Use $signed() system taskassign o = a * $signed(8'b10111111);

// or sb keyword.assign o = a * 8'sb10111111;part-select运算过后的操作数是无号数。就算是选择的范围包含整个register或wire。input signed [7:0] a;

input signed [7:0] b;

output signed [15:0] o1, o2; // Don't do this:

assign o1 = a[7:0];assign o1 = a;// Don't do this: assign o2 = a[6:0] * b;

assign o2 = $signed(a[6:0]) + b

最新文章

  1. javascript判断数字是integer还是float
  2. 如何在制作jar包时引用第三方jar包
  3. poj1703_Find them, Catch them_并查集
  4. 关于Maven项目
  5. smarty中增加类似foreach的功能自动加载数据方法
  6. smarty模板中literal标签的使用
  7. JMS【二】--ActiveMQ简单介绍以及安装
  8. ToolBar+DrawerLayout + NavigationView
  9. opencv2.4.4 背景减除算法收集
  10. case,cast
  11. Oracle --1536错误解决(超出表空间)
  12. 你所不知道的java编程思想
  13. Maven命令行创建web项目,并部署到jobss当中(解决No plugin found for prefix 'jboss-as' in the current project and in the plugin groups [org.apache.maven.plugins,问题)
  14. 输入输出函数库stdio.h
  15. 六款常用的linux C/C++ IDE
  16. Java复习2.程序内存管理
  17. fiddler 4 设置代理
  18. 使用VSTS的Git进行版本控制(一)——复制现有仓库
  19. 变量安全过滤,防止xss攻击
  20. IT行业­——Linux

热门文章

  1. C# 如何获取某用户的“我的文档”的目录
  2. 重新想象 Windows 8 Store Apps (2) - 控件之按钮控件: Button, HyperlinkButton, RepeatButton, ToggleButton, RadioButton, CheckBox, ToggleSwitch
  3. Android系统开发(2)——GDB调试工具
  4. 9种CSS3 blend模式制作的鼠标滑过图片标题特效
  5. HDU 4284 状压dp+spfa
  6. 得到Android系统语言设置
  7. Android - 设置ImageView为全屏显示
  8. Reveal:分析iOS UI该武器
  9. 得到View Frustum的6飞机
  10. Spring3 MVC请求参数获取的几种场景