verilog中乘法
时间:10-02
整理:3721RD
点击:
请问verilog 为什么乘法器写的那么复杂?或者用IP核来做? 不是这样写也可以吗 assign c = a * b?
我认为,你直接这样写,在器件乘法器够用的时候,其实也没太大问题,综合器会自动调用内嵌乘法器的。
写的复杂是为了最求更高或者特制的性能, 可以用乘号代替。综合器遇到乘号的时候会自动调用link_library里面的IP。如果你用DC来综合的话,综合工具将直接调用design_ware的乘法器。不要怀疑哦,synopsys做的乘法器未必比你精心设计的要差。
当然可以!
知道了,谢谢哈
这样写有什么弊端吗?
好的,谢谢哈
就是调用乘法器的IP核啊,比较经典的那几种乘法器;结构比较固定,自己设计的话就很灵活了
综合结果不太可控,需要加上必要的约束
比如,乘法器可以用硬IP实现、也可以用LUT等实现,用“*”的话,最终用什么结构实现,
取决于你的资源使用情况以及综合器的能力
请问使用何种约束可以将乘法器用LUT实现,因为硬IP好像有位宽的限制,如果输入位宽超过的话需要人为拆分。谢谢!
