跳转至

开发板移植

By: howardlau1999

目前本项目预设提供了 Basys 3、Pynq Z1 以及 Verilator 的顶层模块和相应的综合脚本以及约束文件。如果你想要适配其他的开发板,你需要自己编写顶层模块和相应的综合脚本以及约束文件。

顶层模块

顶层模块 Chisel 代码存放于 board 文件夹中,如果想要移植到其他型号的开发板,则根据自己的需要定义好顶层模块含有的 IO 接口,然后编写一个 VerilogGenerator 对象负责生成 Verilog 文件即可。

约束文件

对于硬件开发板,需要编写约束文件将顶层模块定义的 IO 端口和开发板上的硬件资源对应,具体请自行根据开发板提供的参考约束文件进行编写。

顶层模块中的 IO 端口会被加上 io_ 前缀。例如在 Top.scala 中定义了一个 led 的接口,那么在约束文件中就需要使用 io_led 作为名字。

综合脚本

综合脚本用于生成比特流二进制文件,主要分为创建项目、添加源代码和约束文件、生成比特流二进制文件、烧板等步骤。

创建项目可以参考 open_project.tcl 脚本,里面指定了开发板的 FPGA 芯片型号等。

生成比特流文件可以参考 generate_bitstream.tcl 脚本,里面主要是运行了综合和实现两个步骤。


最后更新: 2023-04-21 18:47:40
本页作者: Howard Lau