verilog中的有符号数运算
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
最新文章
- javascript判断数字是integer还是float
- 如何在制作jar包时引用第三方jar包
- poj1703_Find them, Catch them_并查集
- 关于Maven项目
- smarty中增加类似foreach的功能自动加载数据方法
- smarty模板中literal标签的使用
- JMS【二】--ActiveMQ简单介绍以及安装
- ToolBar+DrawerLayout + NavigationView
- opencv2.4.4 背景减除算法收集
- case,cast
- Oracle --1536错误解决(超出表空间)
- 你所不知道的java编程思想
- Maven命令行创建web项目,并部署到jobss当中(解决No plugin found for prefix 'jboss-as' in the current project and in the plugin groups [org.apache.maven.plugins,问题)
- 输入输出函数库stdio.h
- 六款常用的linux C/C++ IDE
- Java复习2.程序内存管理
- fiddler 4 设置代理
- 使用VSTS的Git进行版本控制(一)——复制现有仓库
- 变量安全过滤,防止xss攻击
- IT行业­——Linux
热门文章
- C# 如何获取某用户的“我的文档”的目录
- 重新想象 Windows 8 Store Apps (2) - 控件之按钮控件: Button, HyperlinkButton, RepeatButton, ToggleButton, RadioButton, CheckBox, ToggleSwitch
- Android系统开发(2)——GDB调试工具
- 9种CSS3 blend模式制作的鼠标滑过图片标题特效
- HDU 4284 状压dp+spfa
- 得到Android系统语言设置
- Android - 设置ImageView为全屏显示
- Reveal:分析iOS UI该武器
- 得到View Frustum的6飞机
- Spring3 MVC请求参数获取的几种场景