技巧

Vivado 快捷键 Alt + A 添加源文件

特征 Block Memory Generator (BRAM) Distributed Memory Generator (Distributed RAM)
底层资源 专用硬核 Block RAM 块 通用查找表 (LUT) 资源
容量 大容量 (KB 到 MB) 小容量 (几十到几百比特)
速度/性能 高速,优化时序,吞吐量高 相对较低,容量增大时性能下降,但可以实现组合逻辑读
端口支持 单端口、双端口等多种配置 通常是单端口或简单双端口,复杂配置可能更消耗资源
资源效率 对于大容量高效,但可能浪费小容量的 BRAM 块 对于小容量高效,但大容量时消耗大量 LUT,且布线复杂
读延迟 通常有 1 或 2 个时钟周期的延迟 可以是零延迟(组合逻辑读),但通常也需要寄存器输出
灵活性 相对固定,由 BRAM 块的物理特性决定 高,可以灵活配置位宽和深度

Vivado工程中的Tcl 命令report_timing_summary会检查组合环路,并报出检查结果。

CPU设计的调试有时候之所以困难就在于,同样一条指令,它在这种执行 序列下可能会做对但是换一种执行序列就有可能会做错。因此一条指令在前面测试通过 了未必在后面的测试序列中就不会出错。

CPU执行出错的错误源头,可以通过测试程序的 逻辑路径传递很远之后才被验证者发现。