用户工具

站点工具


icore3l_fpga_6

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore3l_fpga_6 [2020/11/18 18:30]
zgf
icore3l_fpga_6 [2022/03/19 15:26] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-11-18 |  zgf  |  初次建立 ​ |  |  V1.0  |  2020-11-18 |  zgf  |  初次建立 ​ | 
行 26: 行 25:
  
   * 打开HqFpga开发软件,点击左侧栏的“新建工程”按钮,目标器件选择SL2S-25E-8U213C,​设计输入类型选择RTL。   * 打开HqFpga开发软件,点击左侧栏的“新建工程”按钮,目标器件选择SL2S-25E-8U213C,​设计输入类型选择RTL。
-{{ :​icore3l:​icore3l_fpga_6_1.png?​direct&​850 ​|图 6-1 新建工程}} ​+{{ :​icore3l:​icore3l_fpga_6_1.png?​direct |图 6-1 新建工程}} ​
  
   * RTL输入界面点击绿色“+”,将例程下的源文件添加到工程中,或者直接点击“完成”,在“设计管理”界面建立源文件。 ​   * RTL输入界面点击绿色“+”,将例程下的源文件添加到工程中,或者直接点击“完成”,在“设计管理”界面建立源文件。 ​
-{{ :​icore3l:​icore3l_fpga_6_2.png?​direct&​850 ​|图 6-2 添加源文件或者点击完成按钮直接跳过}} ​+{{ :​icore3l:​icore3l_fpga_6_2.png?​direct |图 6-2 添加源文件或者点击完成按钮直接跳过}} ​
  
  
行 35: 行 34:
  
   * 1. 点击左侧边栏的“IP管理”按钮,添加IP核。   * 1. 点击左侧边栏的“IP管理”按钮,添加IP核。
-{{ :​icore3l:​icore3l_fpga_6_3.png?​direct&​650 ​|图 6-3 点击IP管理按钮}} ​+{{ :​icore3l:​icore3l_fpga_6_3.png?​direct |图 6-3 点击IP管理按钮}} ​
  
   * 2. 弹出IP Creator界面,在基本单元栏,双击选中“DSP模块实现的乘法器”,或者选中“DSP模块实现的乘法器”后点击右上角的“创建”按钮,进入IP核配置界面。   * 2. 弹出IP Creator界面,在基本单元栏,双击选中“DSP模块实现的乘法器”,或者选中“DSP模块实现的乘法器”后点击右上角的“创建”按钮,进入IP核配置界面。
-{{ :​icore3l:​icore3l_fpga_6_4.png?​direct&​650 ​|图 6-4 创建IP核}} ​+{{ :​icore3l:​icore3l_fpga_6_4.png?​direct |图 6-4 创建IP核}} ​
  
   * 3. 弹出的乘法器IP核配置界面,左边显示了乘法器IP核的信号端口,右边则可以对乘法器IP核做相关的参数设置。本实验以输入数据AB位宽为8、输出位宽为16为例进行设置。设置好参数之后,点击右下角的“生成IP…”按钮。   * 3. 弹出的乘法器IP核配置界面,左边显示了乘法器IP核的信号端口,右边则可以对乘法器IP核做相关的参数设置。本实验以输入数据AB位宽为8、输出位宽为16为例进行设置。设置好参数之后,点击右下角的“生成IP…”按钮。
-{{ :​icore3l:​icore3l_fpga_6_5.png?​direct&​650 ​|图 6-5 设置参数}} ​+{{ :​icore3l:​icore3l_fpga_6_5.png?​direct |图 6-5 设置参数}} ​
  
   * 4. 弹出保存界面,设置好模块名称、文件名称、输出目录等项之后,点击“开始”按钮,生成IP核文件。   * 4. 弹出保存界面,设置好模块名称、文件名称、输出目录等项之后,点击“开始”按钮,生成IP核文件。
-{{ :​icore3l:​icore3l_fpga_6_6.png?​direct&​650 ​|图 6-6 生成IP核文件}} ​+{{ :​icore3l:​icore3l_fpga_6_6.png?​direct |图 6-6 生成IP核文件}} ​
  
   * 5. IP核生成之后,在乘法器配置界面下方的信息输出栏,可以看到“完成IP生成”的信息提示,如下图所示:   * 5. IP核生成之后,在乘法器配置界面下方的信息输出栏,可以看到“完成IP生成”的信息提示,如下图所示:
-{{ :​icore3l:​icore3l_fpga_6_7.png?​direct&​650 ​|图 6-7 IP核创建完成}} ​+{{ :​icore3l:​icore3l_fpga_6_7.png?​direct |图 6-7 IP核创建完成}} ​
  
   * 6. 然后点击乘法器配置界面的“退出”按钮,可以看到,IP Creator界面下方的信息输出窗口,已经有了乘法器IP核。通过双击或者单击“修改”按钮,可以对IP核参数进行修改。   * 6. 然后点击乘法器配置界面的“退出”按钮,可以看到,IP Creator界面下方的信息输出窗口,已经有了乘法器IP核。通过双击或者单击“修改”按钮,可以对IP核参数进行修改。
-{{ :​icore3l:​icore3l_fpga_6_8.png?​direct&​650 ​|图 6-8 可双击IP核选项进行参数修改}} ​+{{ :​icore3l:​icore3l_fpga_6_8.png?​direct |图 6-8 可双击IP核选项进行参数修改}} ​
  
 === 3、添加IP核文件 === === 3、添加IP核文件 ===
行 57: 行 56:
   * 点击“语法检查”按钮,查看源代码输入是否有语法错误,如无报错,点击“保存”按钮;弹出窗口中将文件命名为mult.v,完成顶层模块的建立。   * 点击“语法检查”按钮,查看源代码输入是否有语法错误,如无报错,点击“保存”按钮;弹出窗口中将文件命名为mult.v,完成顶层模块的建立。
   * 点击主界面左侧栏的“工程属性”按钮,弹出“工程属性”界面,在界面下方的“源文件”一栏,点击“+”号,将建立的顶层模块文件(mult.v)及乘法器IP核文件(xsIP_DSP_MULT.v)添加到工程里。   * 点击主界面左侧栏的“工程属性”按钮,弹出“工程属性”界面,在界面下方的“源文件”一栏,点击“+”号,将建立的顶层模块文件(mult.v)及乘法器IP核文件(xsIP_DSP_MULT.v)添加到工程里。
-{{ :​icore3l:​icore3l_fpga_6_9.png?​direct&​850 ​|图 6-9 将IP核文件添加到工程中}} ​+{{ :​icore3l:​icore3l_fpga_6_9.png?​direct |图 6-9 将IP核文件添加到工程中}} ​
  
 === 4、例化乘法器IP核及代码讲解 === === 4、例化乘法器IP核及代码讲解 ===
行 81: 行 80:
  
   * IP核模块名可以在IP核文件中找到,打开IP核文件,可以看到下图中黄色背景行代码。在关键字module后面的就是IP核的模块名,括号中是IP核模块的信号列表。   * IP核模块名可以在IP核文件中找到,打开IP核文件,可以看到下图中黄色背景行代码。在关键字module后面的就是IP核的模块名,括号中是IP核模块的信号列表。
-{{ :​icore3l:​icore3l_fpga_6_10.png?​direct&​550 ​|图 6-10 IP核信号列表}} ​+{{ :​icore3l:​icore3l_fpga_6_10.png?​direct |图 6-10 IP核信号列表}} ​
  
   * 再来看一下变量a、b,作为乘法器的输入变量,a和b的值一直在循环变化。a和b采用累加的方式,每个时钟上升沿触发一次,计满255归零。之后使用assign 语句,将输出变量q的最高位和最低位分别用于控制三色LED的红色和绿色显示。   * 再来看一下变量a、b,作为乘法器的输入变量,a和b的值一直在循环变化。a和b采用累加的方式,每个时钟上升沿触发一次,计满255归零。之后使用assign 语句,将输出变量q的最高位和最低位分别用于控制三色LED的红色和绿色显示。
行 109: 行 108:
   * iCore3L双核心板上电后,FPGA_LED显示为绿色,表示此时乘法器还未开始运行。约三秒后三色LED变色,表示有复位操作,乘法器开始运行,乘法器输出变量的最高位和最低位的值开始循环变化。由于变化速度较快,人眼分别不出来其颜色渐变的过程,但是能明显观察到三色LED显示的颜色发生了变化。   * iCore3L双核心板上电后,FPGA_LED显示为绿色,表示此时乘法器还未开始运行。约三秒后三色LED变色,表示有复位操作,乘法器开始运行,乘法器输出变量的最高位和最低位的值开始循环变化。由于变化速度较快,人眼分别不出来其颜色渐变的过程,但是能明显观察到三色LED显示的颜色发生了变化。
   * 可以通过HqInsight 查看输入变量a和b以及输出变量q的波形变化;对ab及q的值进行分析,可以确认乘法器成功运行,且运行结果正确。控制LED的led[1:​0]也根据输出变量Q的最高位和最低位发生变化。   * 可以通过HqInsight 查看输入变量a和b以及输出变量q的波形变化;对ab及q的值进行分析,可以确认乘法器成功运行,且运行结果正确。控制LED的led[1:​0]也根据输出变量Q的最高位和最低位发生变化。
-{{ :​icore3l:​icore3l_fpga_6_11.png?​direct&​850 ​|图 6-11 运行结果波形图}} ​+{{ :​icore3l:​icore3l_fpga_6_11.png?​direct |图 6-11 运行结果波形图}} ​
  
-{{ :​icore3l:​icore3l_fpga_6_12.png?​direct&​850 ​|图 6-12 运行结果波形图}} ​+{{ :​icore3l:​icore3l_fpga_6_12.png?​direct |图 6-12 运行结果波形图}} ​
  
  
icore3l_fpga_6.1605695403.txt.gz · 最后更改: 2020/11/18 18:30 由 zgf