0
我想这样做的,我有一个列表,当然我用的变量和信号的总和(我会在VHDL):如何让MyHDL生成具有任意宽度的变量?
@always_comb
def sum():
sum = 0
for i in range(len(summands)):
sum = sum + summands[i]
product.next = sum
的问题是,这将使用整数( VHDL)用于sum变量,当sum的宽度将超过32bits时,这没有多大用处。
于是,我就做这样的事情:
@always_comb
def sum():
sum = intbv(0, min=vmin, max=vmax)
for i in range(len(summands)):
sum = sum + summands[i]
product.next = sum
我得到以下错误(转换期间):
Type mismatch with earlier assignment: sum
,我不知道如何解决。我想它得到的整数intbv的值,因此是不同的类型。
感谢您的任何建议
我不认为它是_that_难看......无论如何,现在是什么类型的sos_inst_0_products_1_summands'?还是整数? – damage
嗨,这将最终被签名。丑陋是在模拟期间,它正在创建总是新的intbv对象,这需要时间。 –