请问DC综合的乘法器是什么类型的?有必要再用verilog专门写一个乘法器吗?
大家好:
请问DC对于“*”综合出来的乘法器是什么类型的?有必要再用verilog专门写一个乘法器吗?现在我的工作时钟为20m左右,数 据位数为32位的,需要乘法器在一个时钟内完成计算。
这个综合出来的数据是多少位的呢,如果我是32×32,输出还要32位的,就是将低几位截掉,综合器可以实现吗?截掉的话,是乘法器中的加法器的操作位数也会减少吗?
如果输出的不是32位的话,我自己设计一个输出是32位的,就是乘法器里面的加法器就会简化,是不是会会省面积呢?
没有必要自己写吧~用“*”的话综合出来的就是一般的组合乘法器~不过源代码是你找不到的~
20m的时钟能不能做,主要看你乘法器的位数和你用的元件库的延时情况~
对了,我的位数是32位的,忘了写上了!
20M没有问题。综合时指定一下乘法器的类型,比如Wallace乘法器。
// synopsys dc_script_begin
// set_implementation wall mult_u1
// synopsys dc_script_end
DW02_mult #(A_width, B_width) mult_u1(A,B,TC,RES);
谢谢,这个综合出来的数据是多少位的呢,如果我是32×32,输出还要32位的,就是将低几位截掉,综合器可以实现吗?
如果输出的不是32位的话,我自己设计一个输出是32位的,就是乘法器里面的加法器就会简化,是不是会会省面积呢?
综合工具应该会给你截掉的。
至于自己设计一个乘法器,根据设计水平和所选乘法器类型的不同,省不省要比比看。
thanksgiving!
同样有这样的问题
对256bit乘法调用DW02_mult_3_stage,即三级流水,但感觉没起到流水线的作用啊,延时还是很大15ns左右,是不是这个模块没有调用上,需要专门的license?
这跟用的库有关系吧
高手指点
挺有用的
小编你好,你的意思是调用synopsys库里的固定的乘法器模型来实现乘法器?还是我们自己设计乘法器,在rtl代码里加上你提到的那几行命令,让DC综合成synopsys库里的乘法器。不知道我的理解是否正确?我现在自己想实现乘法器,但是最后的乘法器延迟不满足设计要求,所以我想按照你的方法来尝试做一下。但是不太明白你的做法,请你赐教啊!
学习了
小编你好,我最近也在想写个自己的乘法器,然后自己的设计中全部使用自己的乘法器,有没有办法将操作符“*”直接指定为我的乘法器?谢谢小编
小编,有个问题想请教小编,在写RTL代码时,写“*”乘号,怎样才能直接调用自己写得乘法器,而不使用designware里的乘法器啊?
谢谢小编答疑啊
