调整格式

This commit is contained in:
2025-10-31 15:07:39 +08:00
parent 0859052a26
commit b2404ce919

View File

@@ -1,45 +1,45 @@
# Vivado使用乘法器、除法器IP核实现乘除取余仿真
### 环境
Vivado 20.2
Vivado 20.2
## 添加并配置IP核
1. 打开vivado找到对应IP核如下图
1. 打开vivado找到对应IP核如下图
![](./vivado_ip_img/IPCore01.png)
2. 先双击除法器IP核进入配置页面如下图
2. 先双击除法器IP核进入配置页面如下图
![](./vivado_ip_img/IPCore02.png)
![](./vivado_ip_img/IPCore03.png)
除法器配置默认即可点击OK后弹出界面点击Generate
如下图即配置完成
除法器配置默认即可点击OK后弹出界面点击Generate
如下图即配置完成
![](./vivado_ip_img/IPCore04.png)
3. 配置乘法器IP核
3. 配置乘法器IP核
![](./vivado_ip_img/IPCore05.png)
上图使用十六位有符号数与十六位无符号数进行运算
上图使用十六位有符号数与十六位无符号数进行运算
![](./vivado_ip_img/IPCore06.png)
上图输出32位间隔一个周期得到结果电脑性能不佳可适当增加
4. 如下图即配置完成
上图输出32位间隔一个周期得到结果电脑性能不佳可适当增加
4. 如下图即配置完成
![](./vivado_ip_img/IPCore07.png)
## 添加并编写仿真代码文件
1. 选择一个文件夹创建例如ipcore_test.v文件
2. 添加文件到vivado
1. 选择一个文件夹创建例如ipcore_test.v文件
2. 添加文件到vivado
![](./vivado_ip_img/IPCore08.png)
![](./vivado_ip_img/IPCore09.png)
找到自己创建的.v文件路径并添加
3. 完成如下图
找到自己创建的.v文件路径并添加
3. 完成如下图
![](./vivado_ip_img/IPCore10.png)
4. 复制示例代码
4. 复制示例代码
![](./vivado_ip_img/IPCore11.png)
双击打开.veo 示例代码文件
双击打开.veo 示例代码文件
![](./vivado_ip_img/IPCore12.png)
复制上图红框中的代码到自己的仿真文件,如下图我这是外部编辑器vivado自带编辑器同理
复制上图红框中的代码到自己的仿真文件,如下图我这是外部编辑器vivado自带编辑器同理
![](./vivado_ip_img/IPCore13.png)
上图的module与endmodule需要自己添加
如下图可以看到除法器IP核在你自己的代码文件之下表示被正确调用
上图的module与endmodule需要自己添加
如下图可以看到除法器IP核在你自己的代码文件之下表示被正确调用
![](./vivado_ip_img/IPCore14.png)
乘法器同理,打开.veo文件复制代码
乘法器同理,打开.veo文件复制代码
![](./vivado_ip_img/IPCore15.png)
![](./vivado_ip_img/IPCore16.png)
示例代码复制完成后如下图这里我更改了实例名称u_ 开头,不改没影响)
示例代码复制完成后如下图这里我更改了实例名称u_ 开头,不改没影响)
![](./vivado_ip_img/IPCore17.png)
5. 最后自己补全仿真代码,我这里这样写
5. 最后自己补全仿真代码,我这里这样写
```verilog
`timescale 1ns / 1ps
@@ -103,10 +103,10 @@ end
endmodule
```
6. 结果分析
选中除B之外的所有变量调整为有符号的十进制B调整为无符号的十进制数
6. 结果分析
选中除B之外的所有变量调整为有符号的十进制B调整为无符号的十进制数
![](./vivado_ip_img/IPCore19.png)
下图可以看到,乘法器得到数据(一开始),在第一个周期得到结果,除法器得到数据,在第二十个周期得到结果
下图可以看到,乘法器得到数据(一开始),在第一个周期得到结果,除法器得到数据,在第二十个周期得到结果
![](./vivado_ip_img/IPCore18.png)