用户工具

站点工具


icore4tx_fpga_2

差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore4tx_fpga_2 [2020/04/28 16:42]
zgf [六、实验结果:]
icore4tx_fpga_2 [2022/04/01 11:36] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-04-28 ​ |  gingko ​ |  初次建立 ​ |  |  V1.0  |  2020-04-28 ​ |  gingko ​ |  初次建立 ​ | 
行 28: 行 27:
 ==== 四、工程建立和编译 ==== ==== 四、工程建立和编译 ====
 1、双击Xilinx FPGA 开发软件图标打开软件,出现下面界面,如图2.2所示,点击红框中New Project…。 1、双击Xilinx FPGA 开发软件图标打开软件,出现下面界面,如图2.2所示,点击红框中New Project…。
-{{ :​icore4tx:​icore4tx_fpga_2_2.png?​direct |图2.2}}+{{ :​icore4tx:​icore4tx_fpga_2_2.png?​direct&​700 ​|图2.2}}
 2、点击新建图标出现下面对话框,给新工程命名led,并选择好工程存放路径;顶层文件是Verilog HDL 语言编写的,因此这里将顶层文件的格式选为HDL,具体如下图所示。 2、点击新建图标出现下面对话框,给新工程命名led,并选择好工程存放路径;顶层文件是Verilog HDL 语言编写的,因此这里将顶层文件的格式选为HDL,具体如下图所示。
 {{ :​icore4tx:​icore4tx_fpga_2_3.png?​direct |图2.3}} {{ :​icore4tx:​icore4tx_fpga_2_3.png?​direct |图2.3}}
行 36: 行 35:
 {{ :​icore4tx:​icore4tx_fpga_2_5.png?​direct |图2.5}} {{ :​icore4tx:​icore4tx_fpga_2_5.png?​direct |图2.5}}
 5、进入工程编辑界面,可以看到左边的工程文件目录区、右边的代码编辑区以及下边栏的工程信息打印区,如图2.6所示。 5、进入工程编辑界面,可以看到左边的工程文件目录区、右边的代码编辑区以及下边栏的工程信息打印区,如图2.6所示。
-{{ :​icore4tx:​icore4tx_fpga_2_6.png?​direct |图2.6}}+{{ :​icore4tx:​icore4tx_fpga_2_6.png?​direct&​700 ​|图2.6}}
 6、在工程文件目录区可以看到刚刚建立的新工程led,选中led工程,右键弹出下拉栏中点击New Source,新建Verilog文件。 ​ 6、在工程文件目录区可以看到刚刚建立的新工程led,选中led工程,右键弹出下拉栏中点击New Source,新建Verilog文件。 ​
-{{ :​icore4tx:​icore4tx_fpga_2_7.png?​direct |图2.7}}+{{ :​icore4tx:​icore4tx_fpga_2_7.png?​direct&​700 ​|图2.7}}
 7、弹出窗口中,在左侧栏中选中Verilog Module,并将Verilog 文件命名为led;文件命名栏下面是新建文件的保存路径。这里选择保存路径时可以在工程文件夹下新建一个src文件夹,专门用于存储Verilog Source 文件。各项都设置好以后,点击Next。 7、弹出窗口中,在左侧栏中选中Verilog Module,并将Verilog 文件命名为led;文件命名栏下面是新建文件的保存路径。这里选择保存路径时可以在工程文件夹下新建一个src文件夹,专门用于存储Verilog Source 文件。各项都设置好以后,点击Next。
 {{ :​icore4tx:​icore4tx_fpga_2_8.png?​direct |图2.8}} {{ :​icore4tx:​icore4tx_fpga_2_8.png?​direct |图2.8}}
行 46: 行 45:
 {{ :​icore4tx:​icore4tx_fpga_2_10.png?​direct |图2.10}} {{ :​icore4tx:​icore4tx_fpga_2_10.png?​direct |图2.10}}
 10、在主界面可以看到左边工程目录区多了led模块文件,右边代码编辑区是软件自动生成的模块信息。如下图所示。 10、在主界面可以看到左边工程目录区多了led模块文件,右边代码编辑区是软件自动生成的模块信息。如下图所示。
-{{ :​icore4tx:​icore4tx_fpga_2_11.png?​direct |图2.11}}+{{ :​icore4tx:​icore4tx_fpga_2_11.png?​direct&​700 ​|图2.11}}
 11、向led 模块module led中添加工程代码,通常一个完整的模块由module和endmodule为开始和结尾,除此外还包括模块名、端口变量及类型的定义、硬件语言描述、内部变量定义等信息,如此组成一个完整的功能模块,如图2.12所示。 11、向led 模块module led中添加工程代码,通常一个完整的模块由module和endmodule为开始和结尾,除此外还包括模块名、端口变量及类型的定义、硬件语言描述、内部变量定义等信息,如此组成一个完整的功能模块,如图2.12所示。
-{{ :​icore4tx:​icore4tx_fpga_2_12.png?​direct |图2.12}}+{{ :​icore4tx:​icore4tx_fpga_2_12.png?​direct&​650 ​|图2.12}}
 12、程序编写完成后进行编译,检查语法错误;首先在工程目录文件区选中顶层模块led,然后在工程目录区下边的Design栏,找到Synthesize – XST,右键点击Run,如图2.13所示。 12、程序编写完成后进行编译,检查语法错误;首先在工程目录文件区选中顶层模块led,然后在工程目录区下边的Design栏,找到Synthesize – XST,右键点击Run,如图2.13所示。
-{{ :​icore4tx:​icore4tx_fpga_2_13.png?​direct |图2.13}} +{{ :​icore4tx:​icore4tx_fpga_2_13.png?​direct&​700 ​|图2.13}} 
-13、编译通过会在Synthesize – XST前面出现一个对号,表示没有语法错误。同时在工程编辑区会显示编译信息,如寄存器和逻辑门等的资源消耗情况。+13、编译通过会在Synthesize – XST前面出现一个对号,表示没有语法错误。同时在工程编辑区会显示编译信息,如寄存器和逻辑门等的资源消耗情况。\\ 
 14、接下来是给模块端口列表里的输入输出信号分配引脚,采用ucf文件绑定引脚信息。首先在工程文件目录区右键选择New Source … 选项。弹出窗口中,文件格式选择Implementation Constraints File选项,左边分别输入文件名和保存路径,点击Next。 14、接下来是给模块端口列表里的输入输出信号分配引脚,采用ucf文件绑定引脚信息。首先在工程文件目录区右键选择New Source … 选项。弹出窗口中,文件格式选择Implementation Constraints File选项,左边分别输入文件名和保存路径,点击Next。
 {{ :​icore4tx:​icore4tx_fpga_2_14.png?​direct |图2.14}} {{ :​icore4tx:​icore4tx_fpga_2_14.png?​direct |图2.14}}
-15、弹出的窗口直接点击Finish,完成引脚分配文件led.ucf文件的建立。在右边编辑区输入引脚绑定信息,格式为:+15、弹出的窗口直接点击Finish,完成引脚分配文件led.ucf文件的建立。在右边编辑区输入引脚绑定信息,格式为:\\ 
 net 端口名称 ​ LOC = 引脚编号| IOSTANDARD = “电压” ; net 端口名称 ​ LOC = 引脚编号| IOSTANDARD = “电压” ;
   * 例如:   * 例如:
     * net  clk  LOC  =  p4  |  IOSTANDARD = “LVCMOS33”     * net  clk  LOC  =  p4  |  IOSTANDARD = “LVCMOS33”
 led模块只有时钟输入信号clk_25M 和输出信号led。只需在ucf文件中添加这两个引脚的绑定信息即可。然后选中Design栏下的Implement Design,右键点击,然后点击Run,进行布局布线编译。完成后如下图所示。 led模块只有时钟输入信号clk_25M 和输出信号led。只需在ucf文件中添加这两个引脚的绑定信息即可。然后选中Design栏下的Implement Design,右键点击,然后点击Run,进行布局布线编译。完成后如下图所示。
-{{ :​icore4tx:​icore4tx_fpga_2_15.png?​direct |图2.15}}+{{ :​icore4tx:​icore4tx_fpga_2_15.png?​direct&​700 ​|图2.15}}
 16、接下来生成可执行文件,可执行文件是ISE编译软件根据编写的程序和管教信息以及约束信息等生成的.bit文件。通过JTAG方式可下载到FPGA运行,但是不能直接固化到Flash中。在左侧Design栏下,右键选中Generate Programming File,点击Run。待编译成功,Generate Programming File 前面也会变成绿色对号。 16、接下来生成可执行文件,可执行文件是ISE编译软件根据编写的程序和管教信息以及约束信息等生成的.bit文件。通过JTAG方式可下载到FPGA运行,但是不能直接固化到Flash中。在左侧Design栏下,右键选中Generate Programming File,点击Run。待编译成功,Generate Programming File 前面也会变成绿色对号。
-{{ :​icore4tx:​icore4tx_fpga_2_16.png?​direct |图2.16}}+{{ :​icore4tx:​icore4tx_fpga_2_16.png?​direct&​700 ​|图2.16}}
 ==== 五、程序下载 ==== ==== 五、程序下载 ====
 1、首先将下载器连接到iCore4TX核心板的JTAG接口,和MicroUSB 线连接到连接到iCore4TX 的核心板上,并给板子供电。 1、首先将下载器连接到iCore4TX核心板的JTAG接口,和MicroUSB 线连接到连接到iCore4TX 的核心板上,并给板子供电。
-{{ :​icore4tx:​icore4tx_fpga_2_17.png?​direct |图2.17}}+{{ :​icore4tx:​icore4tx_fpga_2_17.png?​direct&​600 ​|图2.17}}
 2、本例程采用iMPACT的下载方式。点击Configure Target Device 前面的“+”,然后选中“Manage Configuration Project(iMPACT)”,双击运行或者右键单击Run。如图所示。 2、本例程采用iMPACT的下载方式。点击Configure Target Device 前面的“+”,然后选中“Manage Configuration Project(iMPACT)”,双击运行或者右键单击Run。如图所示。
-{{ :​icore4tx:​icore4tx_fpga_2_18.png?​direct |图2.18}}+{{ :​icore4tx:​icore4tx_fpga_2_18.png?​direct&​700 ​|图2.18}}
 3、然后在弹出窗口中点击左上角的Launch Wizard。 3、然后在弹出窗口中点击左上角的Launch Wizard。
 {{ :​icore4tx:​icore4tx_fpga_2_19.png?​direct |图2.19}} {{ :​icore4tx:​icore4tx_fpga_2_19.png?​direct |图2.19}}
行 84: 行 83:
   * **注意:**   * **注意:**
 添加“.bit”文件时,还可以在iMPACT界面,点击芯片图标,右键选择Assign New Configuration File…。后面的操作步骤不变。 添加“.bit”文件时,还可以在iMPACT界面,点击芯片图标,右键选择Assign New Configuration File…。后面的操作步骤不变。
-{{ :​icore4tx:​icore4tx_fpga_2_26.png?​direct |图2.26}}+{{ :​icore4tx:​icore4tx_fpga_2_26.png?​direct&​700 ​|图2.26}}
 ==== 六、实验结果: ==== ==== 六、实验结果: ====
 可以观察到FPGA_LED闪烁。 可以观察到FPGA_LED闪烁。
 {{ :​icore4tx:​icore4tx_fpga_2_27.png?​direct&​400 |图2.27}} {{ :​icore4tx:​icore4tx_fpga_2_27.png?​direct&​400 |图2.27}}
 +
 +==== 七、备注:闪退问题 ====
 +如果遇到“open Project”闪退,或者编译时闪退,可网上搜索关键字“ISE 14.7 闪退”,解决办法基本一致。下面是解决步骤:\\ ​
 +1、第一步
 +  * 找到ISE安装目录下的文件夹:
 +    * C:​\Xilinx\14.7\ISE_DS\ISE\lib\nt64 ​        ​(如果在其他盘安装,切换盘符,找到ISE的安装目录)
 +
 +  * 对文件夹下的两个文件作如下操作:
 +    * 将libPortability.dll重名为libPortability.dll.orig
 +    * 将 libPortabilityNOSH.dll 复制一份,然后将这个复制重命名为libPortability.dll
 +2、第二步
 +  * 寻找安装Xilinx_ISE的安装目录下的文件夹:
 +    * C:​\Xilinx\14.7\ISE_DS\common\lib\nt64 ​    ​(如果在其他盘安装,切换盘符,找到ISE的安装目录)
 +
 +  * 对文件夹下的两个文件作如下操作:
 +    * 将libPortability.dll重名为libPortability.dll.orig
 +    * 然后将已经复制好的libPortabilityNOSH.dll文件复制到该文件夹下,并重命名为libPortability.dll
  
icore4tx_fpga_2.1588063367.txt.gz · 最后更改: 2020/04/28 16:42 由 zgf