赞
踩
(1)在FPGA综合成电路的时候最底层都是以补码的形式在运算,正数的补码就是本身,负数的补码要取反+1。
(2)编译器高的版本都支持verilog有符号运算的综合了。在定义时直接加上signed即可,如下:
input
output
wire
reg
很明显,这种采用signed定义的情况,可以避免手动转换带来的麻烦,同时可以节省很多开发时间。
(3)当使用移位运算“>>”进行1/2倍运算时,需注意:
凌波微步心得:可以-->
//-----------------------------------------------
20
24
26
27
28
29
30
32
//------------------------------------------------------------------------------
39行為signedoperation
一个很重要的观念:要做signed operation时,须先将所有数字做signextension后才能相加相乘。什么是signedextension呢?将最高位向左补满,如原来是0就用0补满,如原来是1就用1补满。因为结果是8bit,所以i_a、i_b和i_c都必须做signed extension成8 bit才能相加相乘。
转自:
http://www.cnblogs.com/lanlingshan/archive/2012/05/01/2478004.html
http://www.cnblogs.com/oomusou/archive/2007/11/25/971509.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。