VHDL行为与结构性能



我在徘徊,在"性能"方面,如果vhdl结构和行为之间存在某种差异。我知道现在更常见的是写行为而不是结构,但因为我想在性能方面有一个理解,我一直在想,也许有一些区别。

没有与硬件相关的原因来选择一种形式或另一种。

可能是一种形式导致比另一种更快的模拟;我还没有看到任何证据证明这一点,但我没有去看。的确,在合成之后,设计被转化为结构形式,合成后的模拟是缓慢的,但这是由于最终结构版本的绝对大小,表示为数千个单独的门及其相互连接。

更重要的是合成结果的质量:应该有可能以两种形式编写设计,并将其合成到本质上相同的硬件上。根据我的经验,这似乎是普遍正确的。

有时你会发现合成工具很难有效地翻译一个结构(通常是行为),但不像过去那样频繁。


最重要的(除非你正在推动速度或FPGA尺寸的界限)是清晰度,导致可读性,可靠性,效率,可测试性,可维护性等。如果你不能理解它,你就不能看到它的低效率,甚至不能正确地测试它。

在这里,结构化VHDL在顶层发挥作用:将系统划分为CPU,内存接口,FFT处理器,UART, SPI等块。有时是分层的,因此您可能希望将内存接口划分为刷新逻辑、错误纠正、地址多路复用等。

但是大多数块-例如,单个状态机可以处理的任务,在行为表达时是最清晰和最简单的。因此,在UART中,您可能有两个单独的TX和RX进程,而SPI接口(在同一SPI时钟上发送和接收)可能最好作为单个行为过程。

最新更新