调整格式
This commit is contained in:
@@ -1,45 +1,45 @@
|
||||
# Vivado使用乘法器、除法器IP核实现乘除取余仿真
|
||||
### 环境
|
||||
Vivado 20.2
|
||||
Vivado 20.2
|
||||
## 添加并配置IP核
|
||||
1. 打开vivado,找到对应IP核,如下图
|
||||
1. 打开vivado,找到对应IP核,如下图
|
||||

|
||||
2. 先双击除法器IP核进入配置页面,如下图
|
||||
2. 先双击除法器IP核进入配置页面,如下图
|
||||

|
||||

|
||||
除法器配置默认即可,点击OK;后弹出界面,点击Generate
|
||||
如下图即配置完成
|
||||
除法器配置默认即可,点击OK;后弹出界面,点击Generate
|
||||
如下图即配置完成
|
||||

|
||||
3. 配置乘法器IP核
|
||||
3. 配置乘法器IP核
|
||||

|
||||
上图使用十六位有符号数与十六位无符号数进行运算
|
||||
上图使用十六位有符号数与十六位无符号数进行运算
|
||||

|
||||
上图输出32位,间隔一个周期得到结果(电脑性能不佳可适当增加)
|
||||
4. 如下图即配置完成
|
||||
上图输出32位,间隔一个周期得到结果(电脑性能不佳可适当增加)
|
||||
4. 如下图即配置完成
|
||||

|
||||
## 添加并编写仿真代码文件
|
||||
1. 选择一个文件夹,创建例如ipcore_test.v文件
|
||||
2. 添加文件到vivado
|
||||
1. 选择一个文件夹,创建例如ipcore_test.v文件
|
||||
2. 添加文件到vivado
|
||||

|
||||

|
||||
找到自己创建的.v文件路径并添加
|
||||
3. 完成如下图
|
||||
找到自己创建的.v文件路径并添加
|
||||
3. 完成如下图
|
||||

|
||||
4. 复制示例代码
|
||||
4. 复制示例代码
|
||||

|
||||
双击打开.veo 示例代码文件
|
||||
双击打开.veo 示例代码文件
|
||||

|
||||
复制上图红框中的代码到自己的仿真文件,如下图(我这是外部编辑器,vivado自带编辑器同理)
|
||||
复制上图红框中的代码到自己的仿真文件,如下图(我这是外部编辑器,vivado自带编辑器同理)
|
||||

|
||||
上图的module与endmodule需要自己添加
|
||||
如下图,可以看到,除法器IP核在你自己的代码文件之下,表示被正确调用
|
||||
上图的module与endmodule需要自己添加
|
||||
如下图,可以看到,除法器IP核在你自己的代码文件之下,表示被正确调用
|
||||

|
||||
乘法器同理,打开.veo文件复制代码
|
||||
乘法器同理,打开.veo文件复制代码
|
||||

|
||||

|
||||
示例代码复制完成后如下图,这里我更改了实例名称(u_ 开头,不改没影响)
|
||||
示例代码复制完成后如下图,这里我更改了实例名称(u_ 开头,不改没影响)
|
||||

|
||||
5. 最后自己补全仿真代码,我这里这样写
|
||||
5. 最后自己补全仿真代码,我这里这样写
|
||||
```verilog
|
||||
`timescale 1ns / 1ps
|
||||
|
||||
@@ -103,10 +103,10 @@ end
|
||||
endmodule
|
||||
```
|
||||
|
||||
6. 结果分析
|
||||
选中除B之外的所有变量,调整为有符号的十进制,B调整为无符号的十进制数
|
||||
6. 结果分析
|
||||
选中除B之外的所有变量,调整为有符号的十进制,B调整为无符号的十进制数
|
||||

|
||||
下图可以看到,乘法器得到数据(一开始),在第一个周期得到结果,除法器得到数据,在第二十个周期得到结果
|
||||
下图可以看到,乘法器得到数据(一开始),在第一个周期得到结果,除法器得到数据,在第二十个周期得到结果
|
||||

|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user