用户工具

站点工具


icore3lfpga_2

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore3lfpga_2 [2020/10/13 09:39]
zgf
icore3lfpga_2 [2020/10/13 09:46] (当前版本)
zgf
行 5: 行 5:
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-10-13 |  zgf  |  初次建立 ​ |  |  V1.0  |  2020-10-13 |  zgf  |  初次建立 ​ | 
 +\\ 
 ===== 实验二:新建FPGA工程——驱动LED ===== ===== 实验二:新建FPGA工程——驱动LED =====
 +\\ 
 ==== 一、 实验目的与意义 ==== ==== 一、 实验目的与意义 ====
  
行 21: 行 21:
   * 1、通过双击安装目录/​hqui/​子目录下的可执行文件hqui.exe启动HqFpga GUI,可以看到HqFpga界面包含三个主操作按钮:RTL综合、设计实现、DRC\Bitgen,如图2-2所示。   * 1、通过双击安装目录/​hqui/​子目录下的可执行文件hqui.exe启动HqFpga GUI,可以看到HqFpga界面包含三个主操作按钮:RTL综合、设计实现、DRC\Bitgen,如图2-2所示。
    
-{{ :​icore3l:​icore3l_fpga_2_2.png?​direct&​850 |图 2-2 HqFpga软件主界面}}+{{ :​icore3l:​icore3l_fpga_2_2.png?​direct&​800 |图 2-2 HqFpga软件主界面}}
   * 2、点击左侧栏中的“新建工程”按钮,建立新工程。   * 2、点击左侧栏中的“新建工程”按钮,建立新工程。
-{{ :​icore3l:​icore3l_fpga_2_3.png?​direct&​850 |图 2-3 新建工程}} ​+{{ :​icore3l:​icore3l_fpga_2_3.png?​direct&​800 |图 2-3 新建工程}} ​
  
   * 3、弹出新建工程向导对话框,在“工程目录”栏设置工程存放路径;在“工程名称”栏填写工程名称,这里以“led”为例; iCore3L双核心板的FPGA采用国产器件,西安智目标器件选择SL2S-25E,设计输入选择RTL描述;然后点击“下一步”。   * 3、弹出新建工程向导对话框,在“工程目录”栏设置工程存放路径;在“工程名称”栏填写工程名称,这里以“led”为例; iCore3L双核心板的FPGA采用国产器件,西安智目标器件选择SL2S-25E,设计输入选择RTL描述;然后点击“下一步”。
行 34: 行 34:
  
   * 5、至此已经建立了工程,然后点击左侧栏的“设计管理”按钮,弹出“设计管理”界面;点击“新建文件”图标,建立源文件,如图2-6所示。   * 5、至此已经建立了工程,然后点击左侧栏的“设计管理”按钮,弹出“设计管理”界面;点击“新建文件”图标,建立源文件,如图2-6所示。
-{{ :​icore3l:​icore3l_fpga_2_6.png?​direct |图 2-6 设计管理界面建立新文件}}  ​+{{ :​icore3l:​icore3l_fpga_2_6.png?​direct&​800 ​|图 2-6 设计管理界面建立新文件}}  ​
  
   * 6、在设计管理界面的编辑区输入工程代码,点击“语法检查”按钮,检查语法错误;语法检查通过后,点击“保存”按钮图标,并命名为led.v;然后点击3标号处的“+”号,将保存的led.v添加到工程中。   * 6、在设计管理界面的编辑区输入工程代码,点击“语法检查”按钮,检查语法错误;语法检查通过后,点击“保存”按钮图标,并命名为led.v;然后点击3标号处的“+”号,将保存的led.v添加到工程中。
-{{ :​icore3l:​icore3l_fpga_2_7.png?​direct |图 2-7 设计管理界面编辑源代码并检查语法}}  ​+{{ :​icore3l:​icore3l_fpga_2_7.png?​direct&​800 ​|图 2-7 设计管理界面编辑源代码并检查语法}}  ​
  
   * 7、或者在保存完led.v文件后,关闭“设计管理”界面,再点击左侧边栏的“工程属性”按钮,弹出窗口中点击“+”号,添加刚刚建立的led.v文件,并点击“确定”,如图2-8所示。   * 7、或者在保存完led.v文件后,关闭“设计管理”界面,再点击左侧边栏的“工程属性”按钮,弹出窗口中点击“+”号,添加刚刚建立的led.v文件,并点击“确定”,如图2-8所示。
行 43: 行 43:
  
   * 8、至此,工程建立完成,点击“RTL综合”按钮,运行指定的RTL综合工具。   * 8、至此,工程建立完成,点击“RTL综合”按钮,运行指定的RTL综合工具。
-{{ :​icore3l:​icore3l_fpga_2_9.png?​direct |图 2-9 主界面RTL综合按钮}}  ​+{{ :​icore3l:​icore3l_fpga_2_9.png?​direct&​800 ​|图 2-9 主界面RTL综合按钮}}  ​
  
   * 9、综合完成后,可以看到界面上产生一个大的活页标签,如图2-10中所示;标签上半部分显示综合后的FPGA资源利用概要信息。下半页显示有时序分析和网表文件两个标签。   * 9、综合完成后,可以看到界面上产生一个大的活页标签,如图2-10中所示;标签上半部分显示综合后的FPGA资源利用概要信息。下半页显示有时序分析和网表文件两个标签。
-{{ :​icore3l:​icore3l_fpga_2_10.png?​direct |图 2-10 主界面可查看RTL综合后的资源利用情况}}  ​+{{ :​icore3l:​icore3l_fpga_2_10.png?​direct&​800 ​|图 2-10 主界面可查看RTL综合后的资源利用情况}}  ​
  
   * 10、点击左侧栏“物理约束”按钮,添加约束;弹出窗口点击选中“约束编辑器”,然后点击“确定”。   * 10、点击左侧栏“物理约束”按钮,添加约束;弹出窗口点击选中“约束编辑器”,然后点击“确定”。
-{{ :​icore3l:​icore3l_fpga_2_11.png?​direct |图 2-11 添加物理约束}}  ​+{{ :​icore3l:​icore3l_fpga_2_11.png?​direct&​800 ​|图 2-11 添加物理约束}}  ​
  
   * 11、弹出物理约束窗口,首先点击“全选”,然后点击“启用”,可以看到下方信号列表的状态一栏都变成了启用,如图2-12中所示。   * 11、弹出物理约束窗口,首先点击“全选”,然后点击“启用”,可以看到下方信号列表的状态一栏都变成了启用,如图2-12中所示。
-{{ :​icore3l:​icore3l_fpga_2_12.png?​direct |图 2-12 添加引脚约束}}  ​+{{ :​icore3l:​icore3l_fpga_2_12.png?​direct&​800 ​|图 2-12 添加引脚约束}}  ​
  
   * 12、然后在信号行的“位置”栏下单击,会出现一个带“...”的方框,点击方框,弹出“选择端口位置”窗口,通过单击相应位置,为信号添加引脚约束;之后点击确定,即实现信号对应引脚的绑定。图2-14中以clk_25m为例,绑定到B9引脚,绑定之后,其对应“位置”列出现“B9 bank7”字样。   * 12、然后在信号行的“位置”栏下单击,会出现一个带“...”的方框,点击方框,弹出“选择端口位置”窗口,通过单击相应位置,为信号添加引脚约束;之后点击确定,即实现信号对应引脚的绑定。图2-14中以clk_25m为例,绑定到B9引脚,绑定之后,其对应“位置”列出现“B9 bank7”字样。
行 58: 行 58:
 {{ :​icore3l:​icore3l_fpga_2_13.png?​direct |图 2-13 FPGA三色LED的硬件原理图}}  ​ {{ :​icore3l:​icore3l_fpga_2_13.png?​direct |图 2-13 FPGA三色LED的硬件原理图}}  ​
  
-{{ :​icore3l:​icore3l_fpga_2_14.png?​direct |图 2-14 绑定引脚信息}}  ​+{{ :​icore3l:​icore3l_fpga_2_14.png?​direct&​800 ​|图 2-14 绑定引脚信息}}  ​
  
   * 13、完成了RTL综合、添加了约束之后,可以在“设计实现”之前对各个步骤设置不同的优化选项;点击界面左侧栏的“设置”按钮,弹出“设置优化选项窗口”,可以进行综合、布局布线等步骤的优化设置。   * 13、完成了RTL综合、添加了约束之后,可以在“设计实现”之前对各个步骤设置不同的优化选项;点击界面左侧栏的“设置”按钮,弹出“设置优化选项窗口”,可以进行综合、布局布线等步骤的优化设置。
行 65: 行 65:
  
   * 14、点击主界面的“设计实现”按钮;设计实现运行完毕生成一个大的活页标签;标签上半部分是显示FPGA资源使用情况,下半部分是生成的是一些报告和网表文件,可用于分析检查设计实现结果。   * 14、点击主界面的“设计实现”按钮;设计实现运行完毕生成一个大的活页标签;标签上半部分是显示FPGA资源使用情况,下半部分是生成的是一些报告和网表文件,可用于分析检查设计实现结果。
-{{ :​icore3l:​icore3l_fpga_2_16.png?​direct |图 2-16 点击“设计实现”按钮进行布局布线}}  ​+{{ :​icore3l:​icore3l_fpga_2_16.png?​direct&​800 ​|图 2-16 点击“设计实现”按钮进行布局布线}}  ​
  
   * 15、点击“DRC/​Bitgen”按钮,进行设计规则检查(DRC)并生成位流(Bitstream)文件,检查运行结果。   * 15、点击“DRC/​Bitgen”按钮,进行设计规则检查(DRC)并生成位流(Bitstream)文件,检查运行结果。
   * DRC通过后,在产生活页的下半页有“位流文件”和“下载编程”两个图标。   * DRC通过后,在产生活页的下半页有“位流文件”和“下载编程”两个图标。
-{{ :​icore3l:​icore3l_fpga_2_17.png?​direct |图 2-17 全编译后生成bit文件,活页出现“下载/​编程”按钮}}  ​+{{ :​icore3l:​icore3l_fpga_2_17.png?​direct&​800 ​|图 2-17 全编译后生成bit文件,活页出现“下载/​编程”按钮}}  ​
  
   * 16、将下载器和核心板与电脑连接,并给核心版供电。点击DRC活页中的“下载/​编程”图标,弹出“HqFpga下载器”界面;此界面下文件类型选择 .bit,点击“检测器件”按钮,查看检测到的器件型号和工程设计中选择的器件型号是否一致;然后点击“打开”按钮,找到生成的led.bit文件并选中,点击“下载”按钮。   * 16、将下载器和核心板与电脑连接,并给核心版供电。点击DRC活页中的“下载/​编程”图标,弹出“HqFpga下载器”界面;此界面下文件类型选择 .bit,点击“检测器件”按钮,查看检测到的器件型号和工程设计中选择的器件型号是否一致;然后点击“打开”按钮,找到生成的led.bit文件并选中,点击“下载”按钮。
-{{ :​icore3l:​icore3l_fpga_2_18.png?​direct |图 2-18 弹出的HqFpga下载界面}}  ​+{{ :​icore3l:​icore3l_fpga_2_18.png?​direct&​800 ​|图 2-18 弹出的HqFpga下载界面}}  ​
  
   * 17、下载成功将会看到“输出信息”栏有如图2-18所示提示,且开发板上三色LED显示绿色。   * 17、下载成功将会看到“输出信息”栏有如图2-18所示提示,且开发板上三色LED显示绿色。
行 80: 行 80:
   * 点击左侧栏“设置”按钮,弹出的“设置优化选项”窗口中点击“位流生成”页,勾选“生成二进制文件格式”选项和“压缩比特流”选项,点击“确定”,如图2-19所示。   * 点击左侧栏“设置”按钮,弹出的“设置优化选项”窗口中点击“位流生成”页,勾选“生成二进制文件格式”选项和“压缩比特流”选项,点击“确定”,如图2-19所示。
   * 设置好之后重新编译即可生成 .bin文件。   * 设置好之后重新编译即可生成 .bin文件。
-{{ :​icore3l:​icore3l_fpga_2_20.png?​direct |图2-20 HqFpga生成.bin文件的设置。}}  ​+{{ :​icore3l:​icore3l_fpga_2_20.png?​direct&​800 ​|图2-20 HqFpga生成.bin文件的设置。}}  ​
  
 ==== 四、 代码分析 ==== ==== 四、 代码分析 ====
icore3lfpga_2.1602553142.txt.gz · 最后更改: 2020/10/13 09:39 由 zgf