我在fpga(vhdl)编程方面相对较新。所以我不知道解决问题的不同解决方案的资源成本...... 所以我想知道如果我想在fpga设计中实现一些内存映射寄存器,哪种方法最有意义。我应该设计一个地址解码器,在地址匹配时选通寄存器,还是用自己的解码器设计每个寄存器更好(或至少每个子组件如pwm发生器在我的实现中使用几个寄存器)。
提前感谢您的见解 问候 扬
答案 0 :(得分:3)
关键资源通常不是门(LUT),而是工程时间,因此主要关注的是使设计易于管理,模块易于重复使用。
仅凭这个原因,您应该进行分层地址解码,其中每个模块负责对已分配的地址空间进行分区和解码。
因此,在您的情况下,PWM发生器应该具有单独的地址解码器,用于在层次结构中下一个更高级别的PWM模块的地址空间中分配的寄存器。
要了解资源使用情况,您可以安装FPGA综合工具并尝试不同的方法;这是一个很好的练习,可以帮助您在不同的实现之间进行选择。