一、生成rbf文件
1、打开黄金参考工程
2、 打开Platform Designer自定义IP核
a.在 DE10_Standard_GHRD 工程的 ip 目录下创建一个名为 pwm 的文件夹,将pwm_generator.v 和 av_pwm.v 两个文件拷贝到 pwm 文件夹下
b. 封装IP核 PWM:
启动platform Designer
c.进入Files选项卡,点击可综合文件选项下面的 Add File 按钮,找到pwm_generator.v 和av_pwm.v 两个文件并打开就可以了。
d. 根据错误提示信息,手动修改各组信号。添加端口类型由于组件编辑器并未分析得到相应的 donduit 属性的端口信号,因此在默认的端口类型里面没有 conduit 这一项,需要用户手动添加该端口类型。添加的方式很简单,在编辑器的 name 一栏中,点击<>选项,然后在弹出的列表中选择 Conduit 即可。
e. 修改信号类型。当添加了 Conduit 端口之后,需要将属于导出信号一类的信号移动到该端口中,移动的方式也很简单,鼠标左击选择需要移动的信号,直接拖拽到目标端口中就可以了。
f. 修改端口信息。将 o_pwm 信号移动到 Conduit 端口之后,其信号属性还是为
writeresponsevalid_n,因此需要手动修改其属性。修改为wire型。
g. 指定端口时钟和复位,同时删除avalon_slave_0
3、将PWM核添加进系统
4、步骤四 Hps与fpga交互连线。
5、分配IP核(PWM)的基地址
这里我们可以手动调整 PIO IP的地址范围,也可以直接使用 Platform Designer 提 供的自动分配基地址的方式来解决这个问题
6、生成Qsys系统
7、生成Qsys系统
添加 PIO 的端口到 Quartus 工程中
8、顶层文件中例化
a.在模板种找到led_out_pio_export (<connected-to-led_out_pio_export>),点击复制。回到quartus中,在顶层文件的的soc_system模板中,将刚刚复制的信号粘贴进去。
b. 并将信号接到LED[7],以此去驱动开办板上的LED灯。
9、编译工程
点击工具栏中的编译按钮,进行编译。
10、生成配置数据二进制文件
编译完成后,得到sof文件,需要将编程
文件转换为二进制数据流文件(.rbf),用作配置时使用。提供的TSOM_GHRD工程中,提供了一个名为“sof_to_rbf.bat”的脚本文件,存放在TSOM_GHRD\output_files目录下,
二、HPS设计-制作设备树文件
1、启动soc EDS command shell
进入到黄金参考所在目录
Make dtb生成 dtb文件
将之前生成的rbf文件以及dtb文件复制到SD卡中
2、./generate_hps_qsys_header.sh 生成hps_0.h,后面ds-5工程使用
三、DS-5开始软件设计
1、启动eclipse
命令行输入 eclipse&
2、 创建c工程
3、添加头文件路径
点击file_system
在quartus安装路径下找到这两个路径
在main.c中添加hps_0.h头文件
4、编写main.c主函数
编译生成二进制文件
5、建立远程连接(连接DE10开发板)
在图中所示位置输入开发板的IP地址
关于开发板的IP地址获取:通过串口连接开发板,输入ifconfig,可得到IP地址
然后按照下列操作,打开远程连接界面
启动命令控制窗口
选择之前生成的二进制文件,复制到远程连接的开发板的目录下
在命令控制窗口执行以下操作
可以看到,开发板上led的呼吸效果