Microblaze
软核、硬核、固核
在fpga的构架中,有软核的概念,同时也有固核和硬核的概念。要想搞清楚MICROBLAZE是个啥东西,就必须先搞清楚这三个的区别。网上的解释有一堆,但大都是书上copy过来的,不仅不好懂,还越说越绕。
其实简单的说,软核是啥,其实就是VIVADO“编写好的v程序”,注意这个引号,实际生成的文件名后缀不是这个,因此很明显,它是里面fpga内部的多个资源(比如LUT)构成的,属于fpga门电路搭建而成的,占用fpga资源。
硬核是啥,是独立与fpga芯片外的,但是为了方便,把fpga当成了硬核的“外部电路”(这个地方是以arm为硬核表示出来的,不一定准确),因此硬核不占用fpga内核。
而固核是啥,你可以把它看成是已经布局布线完成固定好的软核,介于硬核和软核之间的一种独立结构。
MICROBLAZE
这玩意可能很多人都听过,而且还有很多也听过ZYNQ的arm这个东西。它们其实都是cpu,只是不一样的是arm是硬核cpu,而microblaze是软核cpu。因此microblaze的工作频率肯定在fpga的运行频率之下,并且占用fpga的大量门级结构,因此其运行能力肯定不如arm,因此通常制作控制用,具体的运行处理等最好还是用arm做,但是它的优点很显著,就是 随意其自由。你相实现就可以实现一个,多个并行也是可以的,非常方便。
vivado中的microblaze建立过程
这一部分网上有很多教程,建议直接百度。当然也可以私聊我,我有学习文件,时间有限就不摆上来了。