PicoBlaze 指令存储器配置方式

PicoBlaze 指令存储器配置方式

PicoBlaze微控制器实际上包含两个部分,分别是内核KCPSM3 和指令存储器ROM。为了确保在程序运行期间不会有写入操作,BRAM 的WE 端接地,如图12-18 所示。当然,除了这种方式,还会有多种其他方式,下面将一一介绍。

PicoBlaze 微控制器存储器的标准配置1K×18

图12-18 PicoBlaze 微控制器存储器的标准配置1K×18

应用程序被编译后并被综合作为FPGA 实现的一部分,与FPGA 的配置文件.bit 一起存储,在FPGA 的配置过程中,应用程序被自动装入BRAM,如图12-19 所示。

1K×18

图12-19 1K×18

应用程序被编译后,可以不用再次与FPGA 一起综合,BRAM 数据即可通过JTAG 或者UART 被写入,如图12-20 所示。

1K×18(具有UART 或JTAG 编程)

图12-20 1K×18(具有UART 或JTAG 编程)

两个PicoBlaze 共享同一个BRAM,尽管他们执行相同的代码,但是每个微控制器都是单独执行,有自已独立的IO、中断和时钟,如图12-21 所示。

两个PicoBlaze 共享1K×18

图12-21 两个PicoBlaze 共享1K×18

将一个BRAM 分成两块,供两个PicoBlaze 使用。注意地址位ADDRESS[9]的接法。配置方式如图12-22 所示。

1 个BRAM 供2 个PicoBlaze,512×18

图12-22 1 个BRAM 供2 个PicoBlaze,512×18

用分布式RAM 实现PicoBlaze 的指令存储器,比较适合于指令比较少的应用,因为分布式RAM 会消耗LUT 资源,如果RAM 容量太大,会影响逻辑的实现。配置方式如图12-23 所示。

用分布式RAM

图12-23 用分布式RAM

表12-3 为实现不同深度ROM 时SLICE 的消耗情况。

为实现不同深度ROM 时SLICE 的消耗情况

猜你喜欢

转载自blog.csdn.net/Reborn_Lee/article/details/80354810