代码之家  ›  专栏  ›  技术社区  ›  JakkeFire

FPGA实现内存映射寄存器

  •  4
  • JakkeFire  · 技术社区  · 9 年前

    我对fpga(vhdl)编程相对较新。因此,我对不同解决方案的资源成本一无所知。。。 所以我想知道,如果我想在fpga设计中实现一些内存映射寄存器,哪种方法最有意义。我应该设计一个地址解码器,在地址匹配时选通所有寄存器,还是最好用自己的解码器来设计每个寄存器(或者至少每个子组件,如pwm发生器,在我的实现中使用两个寄存器)。

    提前感谢您的见解 当做 一月

    1 回复  |  直到 9 年前
        1
  •  4
  •   Morten Zilmer    9 年前

    关键资源通常不是门(LUT),而是工程时间,因此主要关注的是使设计易于管理,模块易于重用。

    仅出于这个原因,您应该进行分层地址解码,其中每个模块负责对其分配的地址空间进行分区和解码。

    因此,在您的情况下,PWM发生器应具有单独的地址解码器,用于分配给层次结构中下一级的PWM模块的地址空间中的寄存器。

    要了解资源使用情况,您可以安装FPGA合成工具并尝试不同的方法;这是一个很好的练习,可以帮助您在不同的实现之间进行选择。