ISE 14.4初级入门——01
来源:互联网 发布:开店记账软件 编辑:程序博客网 时间:2024/05/16 15:10
本次开始来学习xilinx的FPGA,基于该公司的ISE14.4版本的开发环境。由于我使用的开发板主芯片是SP6系列的XA6SLX16-2CSG324,因此本文中所有的工程都是基于该芯片的。并且以VerilogHDL语言为主。我是个初学者,写这篇博客的目的是记录我学习的过程,也方便其它初学者这参考吧,高手可以请无视。
创建工程
首先是创建一个工程,启动ISE14.4(双击那个类似向右箭头的黄绿色快捷图标),进入主界面后“File|New project...”打开“New project Wizard”工程向导窗口。
在该向导中“Name”一栏中给工程命名,最好是英文字母开头,我这里命名为“sp6test”,
下面的Location是工程保存的路径,注意该路径不能包含中文字符。完成后Next。
接下来设置芯片的型号,如上图所示,设置好后next。后面会有一个配置总结,单击finish完成工程创建。
此时,左上角的Design窗口会显示建立的工程名称和芯片的型号。
创建文件
工程创建完成后,开始创建文件,在芯片型号上点击右键,选择“New Source...”,
弹出新文件向导窗口,左侧显示了可以创建的文件类型,包括IP,原理图、Verilog、VHDL等,
我们选择”Verilog Module“,在右侧输入文件的名称,此次例程是做一个四选一的信号选择器,
我命名为”Sigsel“,很明显文件的名称可以不和工程名一样。其它默认设置,单击next。
接下来是增加输入输出信号,这里我们可以把要用到的信号量输入进去,这样新产生的verilog文件中会自动创建这些信号。
如果不确定要用到哪些信号,也可以空着直接单击next。我这里直接单击next
接下来软件做了一个汇总,确认无误后,单击finish。可以看到左侧的芯片信号下多了一个Sigsel.v的文件,
并且该文件在主窗口中已经自动打开了。
编写代码
本次例程是一个四选一的数字电路,输入6路信号,包括i0,i1,i2,i3,s0,s1,输出为out。s0和s1组成的2个bit决定i0-i4中哪个作为out输出。
修改代码如下:
编写完成后保存文件,保存后注意看最下方的console的提示信息,如果有语法错误,下面有会有红色字体显示,
例如我在35行故意忘掉一个分号”;“,下面会提示37行的”or“操作符附近有语法错误。
改成无误后,下方会提示”Parsing design hierarchy completed successfully.“,表明没有错误。
查看占用资源
下面我们来看看我们这个例程占用的资源,选择源文件后,双击左侧"processes:sigsel"窗口中的”synthesize -XST“,
综合处理完成后,该选项前面会有个绿色的对号,同时注意我们的主窗口新更新了一个名为”Design summary(synthesized)“的文件,
切换到该文件,可以看到我们的工程需要的资源,以及可使用的资源对比,注意看我们使用了7个IO口。
接下来双击”synthesize -XST“下的”view RTL Schematic“,查看RTL原理图纸,这是整个工程的顶层图纸,
弹出的模式选择,单击”OK”即可。
可以看到整个工程的模块图,在该模块上双击,可以打开我们熟悉数字逻辑原理图
接下来我们双击”synthesize -XST“下的”view tecnology Schematic“选项,可以看到FPGA的内部的实现方式和资源利用:
可以看到使用了一个LUT单元,6个输入缓冲和一个输出缓冲。继续在LUT单元上双击可以看到LUT里面的具体逻辑实现,
包含了原理图,等式和真值表:
到这里,大家就可以很清楚的明白LUT的作用了,详细的说明我也不是很懂,请参考xilinx的官方文档。
接下来,好像图片有点多,休息一下,别忘记保存工程,下一篇我们再讲前仿真。
本人也是初学者,谈不上什么深入理解,希望与大家共同进步,如有错误欢迎批评指正。
- ISE 14.4初级入门——01
- ISE 14.4初级入门——02
- hadoop初级入门学习——hdfs
- Gson使用入门——初级篇
- GIT简单入门——初级使用
- 算法入门——初级队列
- ISE数字设计入门体验
- emacs 初级初级入门
- 黑马程序员——GUI入门,初级操作
- Hadoop入门——《Hadoop实战初级部分》学习笔记
- modelsim学习4——ise和modelsim联合仿真
- ISE约束--UCF编辑的入门介绍
- Xilinx ISE软件 模拟组合逻辑入门
- 全网首创ISE入门级教程
- 第4章 ISE开发环境使用指南[FPGA开发实用教程]——第3节 基于ISE的开发流程
- 初级——intent
- 初级——TabHost
- 职业规划——初级
- VC 6.0 编译支持中文的LUA5.23静态库
- c操作lua栈 6
- String对象及特点
- FileWritter写入文件
- 类的序列化与网络通讯
- ISE 14.4初级入门——01
- 八个被现代科学证实的古老信条
- 强制类型转换
- 将printStackTrace()的信息以字符串形式保存
- Google Geocoding API 免费版和商业版(地理编码逆地址)
- 设计模式读书笔记-----解释器模式
- perl cpanm
- SLComposeViewController [新浪微博] 使用示例
- 无线网络覆盖