基于FPGA的DDS在Gowin和combat开发板的实现(三)——注意事项及部分问题补充

有关DDS在Gowin上的创建、编写、综合、仿真、上板已经在前两篇博客中详细写道

附上链接:

基于FPGA的DDS在Gowin和combat开发板的实现(一)

基于FPGA的DDS在Gowin和combat开发板的实现(二)

下面就读者在此过程中的注意事项以及可能出现的问题做个汇总,若有不足之处,还望指出!

目录

一、IP核的建立

二、布局布线

 三、Gowin&Modelsim仿真


一、IP核的建立

 

1. 数据文件导入

在gowin云源ip核中导入的初始化文件可以是二进制、十六进制或带地址十六进制格式

此处我们导入的初始化文件为16进制(Hex file),需要在.mi文件加上如下三行代码方能识别

#File_format=Hex
#Address_depth=1024
#Data_width=12

 生成.mi文件的matlab程序在上面链接中已写有,若读者要加入自己编写的.mi,要做如下修改:

      二进制File_format=Bin

      带地址十六进制格式File_format=AddrHex

值得注意的是,gowin软件所导入.mi文件中数据的位数必须严格相同,若出现如下情况

 那么生成ip core的时候就会报错,必须在前面补零才行

2. 地址深度和位宽

Depth和Width的数值要与.mi文件中一致,不然可能会出现以下问题

(Gowin软件中的Depth设置与vivado不同,在vivado的配置中应为10,但在gowin中要写1024)

 3. Module Name

 ip core建好后会出现如下文件

  

我们需要在自己的程序中按照此格式修改例化部分的Module和ip core建立时的命名一致,并且名称要用大写,不然虽能综合成功,但数据可能不会被读入

正确格式:

 4. File Name

由于本工程中要建立四个ip core,在建立时不要忘记修改file name的命名,否则会将之前建立好的部分覆盖掉

二、布局布线

在gowin中添加DDS.v和DDS_tb.v后编译成功后需进行布线,可以直接在FloorPlanner中分配管脚(如下界面),熟练之后可以添加.cst文件敲代码

此处为方便读者省去查管脚的工作,我们已经把.cst的代码贴了上去,读者按照前面步骤进行即可。但在Place&Route过程中可能出现如下错误

是因为顶层文件设置问题,管脚配置显示的是tb文件的,导致找不到管脚

解决方法:将tb文件右键Disable或直接删除(仿真时直接在modelsim中添加即可)

 三、Gowin&Modelsim仿真

在modelsim中导入文件之后compile时可能会出现如下问题,这就是我们之前提到的例化的Module与ip core建立中的命名不一致,在程序中修改即可

若读者在操作过程中出现其他问题,可以在此提问补充!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值