ABB CMA132 CPU 是一个 CPU 模块,需要硬件。CPU 模块需要访问读/写内存,并且必须与其要控制的设计部件交互。CPU 模块可能还必须处理可选外设产生的中断。
要实现CPU模块,首先要从如何实现指令存储开始。一种方法是将这些要求与商业 FPGA 硬件相结合,这有助于将指令存储在闪存中。闪存通常速度较慢,但通常足以满足这些目的。
然而,闪存的一个问题是需要一种在激活 CPU 之前对其进行编程的方法。这个问题的一般解决方案是向任何系统添加第二个总线控制器,我称之为调试总线。这个总线主机然后可以访问闪存来对其进行编程。作为奖励,调试总线主机还可以进入并控制和/或调试 CPU 本身。这一点其实很重要,因为在编程过程中需要防止 CPU 访问闪存。
驱动 PLL 有不同的方法,方法的选择取决于交互的复杂性和需要驱动的不同外设的数量。单个好的SwiC可以很好的解决驱动PLL的问题。然而,如果 SwiC 需要访问 RAM、闪存和互连,一个简单的状态机可能比一个功能完整的 CPU 来驱动 PLL 更容易实现。