在设计 FPGA 系统时,如何粗略估计给定任务所需的逻辑块数量?
任何人都对我对这些常见设备的期望有一个粗略的数量级吗?:
- UART
- 具有 CRC32 的数据包解帧器
- 8个微核心
我看过 www.opencores.org,但是,他们并没有为每个项目提供多个门的大小。
在设计 FPGA 系统时,如何粗略估计给定任务所需的逻辑块数量?
任何人都对我对这些常见设备的期望有一个粗略的数量级吗?:
我看过 www.opencores.org,但是,他们并没有为每个项目提供多个门的大小。
我建议您访问 Opencores.org,找到与您的设计相似的设计并进行综合。我会说这是估计逻辑利用率的最准确方法。
整个 Amiga 可以容纳 400k 门,不包括 CPU。请参阅 Minimig 项目,它是开源的,应该包含一些有用的参考文件。还有一个 FPGA 68k 内核可以在线查看,由 tobiflex 编写。还可以查看 Commodore One 机器和 C64/CPC 内核(Z80、6845、SID、6502 等)以了解它们的比较情况。
UART:3200 个门。8 位 uC:10k 门。检查http://www.design-reuse.com/以获取其他信息。
我会避免使用 FPGA 进行门计数,这里有一些 4 输入查找表估计值(我的大部分经验是使用 Xilinx,但对于 Altera 和其他人来说也是类似的):
一个原始的 UART 是几十个 LUT/FF - 如果它有一个到 micro 的总线接口,那么它会更多(可能仍然小于 100),如果它有 16550 样式的 FIFO,那么甚至更多(可能还有一些 ram 块以及)。8 位微 - 在 Xilinx 中,请参阅 Picoblaze(113 个切片 - 每个切片是两个 LUT 和两个 FF,但并非所有切片都用于每个切片)
数据包解帧器 - 不知道 - 取决于帧器规范抱歉:)