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的官方文档。

接下来,好像图片有点多,休息一下,别忘记保存工程,下一篇我们再讲前仿真。

本人也是初学者,谈不上什么深入理解,希望与大家共同进步,如有错误欢迎批评指正。



0 0
原创粉丝点击