我在想,在“性能”方面,vhdl结构和行为之间是否存在某种差异。我知道现在更常见的是写行为而不是结构,但由于我想了解性能,我一直在想,也许会有一些不同……
发布于 2015-07-26 20:23:46
没有任何与硬件相关的原因需要选择其中一种形式。
这可能是一种形式导致比另一种更快的模拟;我还没有看到任何证据证明这一点,但我也没有看过。诚然,在合成之后,设计被转换为结构形式,合成后的模拟速度很慢,但这是由于所产生的结构版本的绝对大小,表示为数千个单独的门及其互连。
更重要的是综合结果的质量:应该可以用这两种形式编写设计,并将其综合到本质上相同的硬件上。根据我的经验,这似乎是普遍正确的。
有时你会发现合成工具很难有效地翻译一个结构(通常是行为),但不像过去那样频繁。
最重要的(除非你正在突破速度或FPGA大小的界限)是清晰度,导致可读性、可靠性、效率、可测试性、可维护性等。如果你不能理解它,你就不能看到它的低效,甚至不能正确地测试它。
在这里,结构化VHDL在顶层扮演了一个角色:将系统划分为CPU、内存接口、FFT处理器、UART、SPI等模块。有时是分层的,因此您可能希望将存储器接口划分为刷新逻辑、纠错、地址多路复用等。
但大多数块-例如,单个状态机可以处理的任务-在行为表达时是最清晰和最简单的。因此,在UART中,TX和RX可能有两个不同的进程,而SPI接口(在同一个SPI时钟上发送和接收)可能是最好的单个行为进程。
https://stackoverflow.com/questions/31628867
复制相似问题