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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容