让心去旅行!

关于verilog2001的在有符号数处理方面的增强(原创)

上一篇 / 下一篇  2006-09-11 15:10:39 / 天气: 晴朗 / 心情: 高兴

verilog 2001标准在有符号数的处理方面做了不少努力,使得verilog 的使用变得更加的方便。

1.首先原1995标准,只有integer 类型支持有符号的处理,有时侯十分不便。现在可以使用signed 关键字

(1)使得reg,net类型也支持有符号的数据处理;

(2)函数的返回值可以是有符号数

如:

reg signed [63:0] data;

EDA中国门户网站a9YR }\ x7q1Q$[b
wire signed [7:0] vector;


]"a)R MCi0input signed [31:0] a;

EDA中国门户网站x#Ue1j6O(y*ax6|
function signed [128:0] alu;

2 增加了操作数的有符号和无符号之间的转换,使用系统函数$signed and $unsigned.

reg [63:0] a; //unsigned data type


UoBe\Y^+C"mtc0always @(a) begin

EDA中国门户网站OP l yh;M^6@,i
result1 = a / 2; //unsigned arithmetic

EDA中国门户网站 ^ s1Ro+a/Y:w
result2 = $signed(a) / 2; //signed arithmetic


7U9C3]bZ0end

3 在说明常量是可以加标记s来说明是有符号还是无符号常量

16'hC501 //an unsigned 16-bit hex value


y X|"yu016'shC501 //a signed 16-bit hex value

4 增加的算术左移和算术右移运算符>>>和<<<,给需要进行算术移位带来了不少方便

比如D是一个8bit的变量,原内容为8’b10100011

D >> 3 //logical shift yields 8'b00010100EDA中国门户网站wK6r)^e(P[?
D >>> 3 //arithmetic shift yields 8'b11110100

 

 


FPGA/CPLD器件价格查询

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-19  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 14514
  • 日志数: 106
  • 图片数: 9
  • 文件数: 4
  • 建立时间: 2006-05-07
  • 更新时间: 2008-06-17

RSS订阅

Open Toolbar