您的当前位置:首页正文

verilog radix转换辅助脚本

来源:要发发知识网

前言

这里使用python脚本,简单实现一些verilog描述中,数字在使用不同进制表示之间的转换,比如说10进制的5000000,经过dtb(5000000)就可以可以直接得到返回结果23'b10011000100101101000000

代码

1. dtb( )
  • 当输入的十进制整数大于等于0时,默认返回其无符号二进制数表示,如果需要该整数的有符号数表示,可以直接在最高位前加一个符号位0.
  • 当输入的十进制整数小于0时,返回负数的有符号二进制数表示
def dtb(decimal):
    '''decimal -> binary radix expression, if decimal>=0 return unsigned binary value,
    or decimal < 0 print signed binary value; that is, if you want a signed decimal>=0
    data, add a 0 forward printed data MSB as sign bit.'''
    a = 0
    b = 0
    a = len(bin(decimal)) - 2
    b = bin(decimal)
    if(decimal >= 0):
        print str(a)+'\'b'+str(b[2:])
    else:
        print str(a-1)+'\'b'+str(b[3:])

测试

radix3.PNG