"); //-->
CI858K01 某些条件成立时才能设置的寄存器
通过一些简单的更改,其中许多缺点变得可以忍受。以下是我为使事情更好地工作而进行的一些更改。
提高缓存大小。我在上面提到了这一点。基本上,虽然您可能无法在任何现实生活中的 FPGA 中负担得起 16kB 缓存,但您肯定可以在 模拟 领域中负担得起 1MB 缓存。一旦设计最终在以真实硬件速度运行的实际硬件中结束,那么没有人会注意到您回到了较小的缓存大小。
不是在每个时钟 CPU 周期检查一个字节是否可以输出,而是对 ZipCPU的 newlib 后端进行快速修复,以便设备写入命令首先检查串行端口的缓冲区可用性,然后发送那么多在返回以再次检查可用性之前将字节发送到串行端口。 如果我一开始没有在仿真中运行设计,我永远不会注意到这种变化的影响 。
时钟门控可以加快 仿真速度……我认为。虽然时钟门控很难在 FPGA 中实现,但它在 ASIC 设计中更为常见。一路上,经过一两次测量,我说服自己时钟门控可以加快 仿真速度。
我对这项技术感到非常兴奋,以至于我开始起草一篇关于如何使用时钟门控来加快 仿真 时间的文章。为了完成这篇文章,并表达我对时钟门控有多棒的看法,我花了一些时间并进行了一些测量。然后,在启用时钟门控的情况下,模拟 运行速度 慢了五分钟。哎呀。
发生了什么? 好吧,我在两次测试之间升级了 Verilator 。这可能会影响事情吗?
查看 Verilator的文档,我发现了一些优化可能会在门控时加快设计速度,敬请期待。我不相信这是故事的结局。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。