【发布时间】:2017-03-03 12:19:08
【问题描述】:
我正在用 VHDL 编写设计,综合后我观察到使用的多路复用器(专用)的数量很高。我的代码有很多 if-else 语句,所以看起来合乎逻辑。
但我想知道是否有可能以另一种方式实现 if-else(或类似的语句)以减少使用的多路复用器资源的数量。
谢谢!
【问题讨论】:
-
有时您可以将 if-else 语句重组为 case 语句。有时 case 语句可以实现为查找表。或者,有时您可以直接将查找表实现为常量数组,您可以使用您在 if 语句中测试的任何数量对其进行索引。这些是否适用于您的案例取决于您没有告诉我们的背景。
-
当您说多路复用器时,您是指专用多路复用器资源,还是只是使用 LUT 实现的各种大小的多路复用器?您是否用完了特定资源?
-
@scary_jeff 专用资源
-
这意味着你有很多宽多路复用器。既然如此,我看不出你能做些什么来减少多路复用器的使用。您可能需要重新考虑设计中创建大量多路复用器的部分,或者转向更大的部分。