前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FPGA系统性学习笔记连载_Day2-3开发流程篇之ISE 14.7

FPGA系统性学习笔记连载_Day2-3开发流程篇之ISE 14.7

原创
作者头像
FPGA技术江湖
修改2021-03-31 10:14:27
2.3K0
修改2021-03-31 10:14:27
举报
文章被收录于专栏:FPGA技术江湖

FPGA系统性学习笔记连载_Day2-3开发流程篇之ISE 14.7

连载《叁芯智能fpga设计与研发-第2-3天》 【工程建立、verilog代码编写、分析综合、仿真、程序下载、程序固化】之 ISE 14.7

原创作者:紫枫术河 转载请联系群主授权,否则追究责任

这篇文章记录《xilinx SPARTAN-6 》 系列的基本开发流程(我用的是ISE 14.7)

一、建立工程

1、打开ISE的新建工程向导

2、选择工程存放位置为isepri目录,名字为and_gate2_1

3、选择Spartan6系列的XC6SLX9芯片,封装为TQG144,仿真工具选择Isim,语言选择verilog,VHDL的语法标准选择2000版本,93版本比较老

4、点击下一步

5、鼠标右键,and_gate2_1,在弹出的列表框选择添加源文件,将我们之前写的设计文件添加进来

6、在弹出的对话框选择OK

7、选中and_gate2_1.v设计文件后,在双击综合按钮 Synthesize,软件会进行语法分析

8、点击左侧View RTL Schematic选项查看生成的寄存器传输级示意图(从图片可以看出是2输入与门)

8.1、在弹出的对话框选择顶层模块

8.2、确定后会出一个RTL示意图

8.3、双击方框内的区域,会看到而输入与门的等效电路图

9、点击左侧的布局布线选项

10、点击左侧的芯片规划器选项

11、打开后可以看见这个界面,图中黑色的小点都是芯片的寄存器,右侧是该verilog代码设计的模块的信号引脚列表

12、双击引脚列表的a信号,会自动搜索芯片的布局位置,如图中所示的信号b

13、双击红色区域后,会显示FPGA内部使用的逻辑资源,图中蓝色的线表示实际所用的资源,可以看出2个输入,1个输出

14、添加之前我们写的仿真文件

15、再弹出的对话中,主要文件类型选择Simulation

16、按照图示,对仿真文件进行语法分析,注意一定要选择Simulation,然后点击仿真脚本,最后双击语法检查

17、进行仿真按照下图,打开Isim仿真界面

18、打开的仿真波形界面如下

19、单击全局缩放按钮,对波形缩小在当前屏幕范围内,观察波形

输入 0 0 ->0 0 1 ->0 1 0->0 1 1->1,可以得出结论设计的2输入与门仿真正确

20、分配引脚,当我们设计的逻辑经过仿真没有问题,就可以分配引脚下班验证

20.1、给工程创建一个ucf文件(user config file),用来分配引脚

20.2 我们用2 个按键模拟与门的输入信号,用1个led模拟 与门的输出信号,查看原理图得知 key0(pin83) key1(pin82) led0(pin74)

在Site位置双击,输入P93回车,依次类推,注意修改完成后,必须要点击保存

21、分配完成后再次执行步骤7分析综合,右键选择Rerun

22、综合完成后,进行布局布线

23、打开程序烧写工具iMPACT

23.1、打开烧写工具后,将仿真器接上,板卡上电,然后单击Boundary Scan 按钮进行扫描板卡

23.2、根据提示右键单击Initialize Chain

23.3、发现报错了找不到芯片

23.4、通过上网发现,是因为安装了vivado导致的驱动冲突,执行下面的步骤

1、以管理员运行CMD命令行进入ISE的安装目录

cd D:\xilinx_ise_design_suite_14.7\14.7\ISE_DS\ISE\bin\nt64

2、执行卸载驱动命令

wdreg -compat -inf windrvr6.inf uninstall

3、执行驱动安装命令

wdreg -compat -inf windrvr6.inf install

23.5、上面的方法都试了还是不行,最后解决的方法很简单,在设备管理器将Xilinx的默认驱动删掉,红色的一定要勾选,否则不成功

23.6、然后再重新插拔usb设备,会自动安装,这样就好了

23.7、由于我后来装了viado2017.4,导致驱动有冲突, 解决的办法是卸载驱动和上面一样,然后进入ise安装目录的驱动文件夹,手动安装驱动,主要安装之前必须要断开仿真器

D:\xilinx_ise_design_suite_14.7\14.7\ISE_DS\common\bin\nt64

以管理员身份安装install_drivers.exe驱动即可

23.7、识别到芯片后,弹出一个对话框,单击YES,会提示添加一个配置文件,我们这里选择and_gate2_1.bit文件,然后点击OPEN

23.8、点击open后还会弹出一个对话框,这个意思是我的配置文件是XC6SLX4,但是我的芯片是XC6SLX9,所以我的工程芯片选错了,这里我改一下芯片就不会有这个提示

23.9、修改芯片后,重新添加文件会下面的提示,意思是我们是否要添加一个flash的存储器,我们选择No

24.0、点击NO后弹出一个对话框,我们单击Cancle

24.1、程序烧写,在xilinx芯片上右击,在弹出的列表中选择Program,当下载完成后会出现Program Succeeded的提示字符

25、硬件验证,通过按键测试输入信号和led灯与设计一致

26、程序固化、FPGA是基于SRAM设计的,所以程序掉电丢失,需要将程序烧写进flash里

27、先生成可烧写进flash的文件,ISE 是产生mcs文件

28、单击创建PROM文件按钮

29、弹出一个产生mcs的配置界面,按照图示的标识进行配置,然后点击OK

30、点击ok后,会弹出一个对话框,提示添加一个设备文件,意思是用什么文件来生成mcs文件,单击OK

31、点击OK后,会弹出对话框,提示选择文件,我们选择and_gate2_1.bit

32、单击打开后,会弹出一个对话框,提示是否添加另外一个设备文件,我们选择NO

33、单击NO,会弹出对话框,提示我们已经完成设备文件配置,点击OK

34、点击OK后,回到了开始的烧写程序界面,这时候点击生成文件按钮

35、当生成文件后,会有相应的提示字符

36、可以在文件夹里找到刚生成的文件

37、给fpga添加一个FLASH存储器,在FPGA芯片上右击,在弹出的列表中选择Add SPI/BPI Flash

38、在弹出的文件对话框中选择and_gate2_1.mcs

39、点击打开后,会弹出一个对话框,选择spi的型号,这里选择SPI PROM,M25P16(flash根据板子的型号更改),位宽1(根据板子型号更改),然后点击OK

40、完成上述步骤后,会发现FPGA芯片上面,多了一个FLASH芯片

41、程序固化,右键点击FLASH设备,在弹出的列表选择Program

42、在弹出的对话框,选择OK即可

43、等到进度条100%,即固化成功,会有成功提示符

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FPGA系统性学习笔记连载_Day2-3开发流程篇之ISE 14.7
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档