MicroBlaze FPGA教程:从生成网表到SDK编程

需积分: 34 89 下载量 21 浏览量 更新于2024-08-07 收藏 2.69MB PDF 举报
"生成网表-hands-on machine learning with scikit-learn keras and tensorflow 2ed 2019" 在微处理器设计和嵌入式系统开发中,生成网表是一个关键步骤,它涉及到将硬件描述语言(如VHDL或Verilog)编写的逻辑设计转换为硬件可以执行的结构化表示。在这个特定的实例中,我们讨论的是使用Xilinx ISE工具链来创建一个基于MicroBlaze软核处理器的嵌入式系统,该系统运行在Xilinx ML605评估板上。 MicroBlaze是一个可定制的、32位RISC架构的处理器,适合在FPGA中实现。以下是生成网表和后续步骤的详细说明: 1. **工程创建**:首先在ISE中新建一个工程,指定工程名称和目录,并选择ML605评估板作为目标硬件平台,使用VHDL作为设计语言。 2. **添加MicroBlaze处理器**:在工程中插入一个Embedded Processor,即MicroBlaze,根据向导配置处理器的参数,例如外设接口、内存控制器和总线类型。 3. **外围设备选择**:在向导中选择所需的外围设备,如中断控制器、定时器、GPIO(通用输入输出)等,这些设备是与处理器交互的关键组件。 4. **总线选择**:选择总线架构,这里选择AXI(Advanced eXtensible Interface),它是现代FPGA设计中广泛使用的高性能接口。如果旧的器件不支持AXI,可以选择PLB(Processing Local Bus)。 5. **生成网表**:完成处理器和外设配置后,ISE会自动生成网表。网表是逻辑设计的网络表示,描述了所有逻辑门和它们之间的连接,是硬件实现的基础。 6. **软件平台准备**:生成网表后,需要进入软件开发环境。在ISE中导出硬件设计到Xilinx Software Development Kit (SDK)。这允许在嵌入式处理器上编写和调试C或C++代码。 7. **SDK中的工作**:在SDK中,创建一个新的工程,选择Xilinx C/C++ Project,并使用HelloWorld模板快速启动。这个模板项目包含了一个简单的"Hello, World!"程序,可以用来验证软件环境。 8. **添加新功能**:为了控制硬件,如点亮LED灯,可以创建另一个模板项目,比如PeripheralTests,这将提供对硬件外设的访问。 9. **程序下载**:在运行程序之前,必须返回ISE,配置FPGA,生成.bit文件。这个文件包含了FPGA的具体配置信息,使得MicroBlaze和外设能在硬件中正确运行。 10. **FPGA配置**:使用ISE的Bitstream Generation功能生成.bit文件,然后通过JTAG(Joint Test Action Group)接口或其它方法将该文件下载到ML605板上的FPGA中。 11. **运行程序**:最后,回到SDK,点击下载图标,将编译后的应用程序加载到MicroBlaze处理器中执行。这样,就可以观察到LED灯的变化或其他预期的硬件行为。 这个过程展示了如何结合硬件描述语言和嵌入式软件开发工具,实现一个基于FPGA的嵌入式系统,其中MicroBlaze作为核心处理器,控制和驱动外围设备。通过这种方式,开发者能够灵活地设计和实现复杂的硬件-软件协同系统。