原创
Ricky版Tips of Xilinx v0.06
[
2008/07/11 09:37 | by RickySu ]
2008/07/11 09:37 | by RickySu ]
此篇宗旨:因为还写了一篇文章叫《Ricky版FPGA常见问题(FAQ)》,内容相近却不同,难免混淆。此篇仅写一些Xilinx提供的一些不引人注意却又有用的小工具和某个工具的属性。
1、coe文件模板
经常会不知道coe文件怎么写,怎么生成,语法怎么回事。原来在%Xilinx%/coregen/data目录下,有coe文件模板,各种作用下的模板,比如DA FIR, BlockRAM等等
2、控制XST插入buffer的方法
1、用buffer_type约束。具体使用方法在XST User Guide
2、手动插入BUFG,然后设置允许使用BUFG的数量,那么手动插入的将拥有高优先级而先占用了BUFG。
3、同时更改所有IO管脚的电平标准
要更改所有IO Pin的IO Standard,可以打开PACE,选择所有管脚(通过shift或ctrl键多选),按右键,Create Constraints,然后自己选需要的吧:)
4、子模块的网表分别存在多个目录怎么办
当子模块以网表形式提供时,NgdBuilder (Translate)会搜索工程目录下的edn, ngc等网表文件。
如果存在子目录中,在Translate属性中的Macro Search Path填写目录名。
如果有多个子目录,不是在Macro Search Path中填写多个目录名,而要在下面一条填写其他Translate option的地方写上 -sd -sd 。每个-sd后只能写一个目录名。这一点在dev.pdf中提到。
5、Timing Analyzer中的Tioop之类的delay type的图形解释?
Tioop之类的延时信息首先是在Datasheet中有详细定义。一般在DC and Switching Characteristics章节中。Datasheet会列出定义以及各个速度等级的延时。
另外在ISE的安装目录doc\usenglish\help\delay_types中还有图形化的解释,只不过不是所有器件都有。
6、xps_archiver 打包用于重建工程的文件
http://www.rickysu.com/bo/post/202/
1、coe文件模板
经常会不知道coe文件怎么写,怎么生成,语法怎么回事。原来在%Xilinx%/coregen/data目录下,有coe文件模板,各种作用下的模板,比如DA FIR, BlockRAM等等
2、控制XST插入buffer的方法
1、用buffer_type约束。具体使用方法在XST User Guide
2、手动插入BUFG,然后设置允许使用BUFG的数量,那么手动插入的将拥有高优先级而先占用了BUFG。
3、同时更改所有IO管脚的电平标准
要更改所有IO Pin的IO Standard,可以打开PACE,选择所有管脚(通过shift或ctrl键多选),按右键,Create Constraints,然后自己选需要的吧:)
4、子模块的网表分别存在多个目录怎么办
当子模块以网表形式提供时,NgdBuilder (Translate)会搜索工程目录下的edn, ngc等网表文件。
如果存在子目录中,在Translate属性中的Macro Search Path填写目录名。
如果有多个子目录,不是在Macro Search Path中填写多个目录名,而要在下面一条填写其他Translate option的地方写上 -sd
5、Timing Analyzer中的Tioop之类的delay type的图形解释?
Tioop之类的延时信息首先是在Datasheet中有详细定义。一般在DC and Switching Characteristics章节中。Datasheet会列出定义以及各个速度等级的延时。
另外在ISE的安装目录doc\usenglish\help\delay_types中还有图形化的解释,只不过不是所有器件都有。
6、xps_archiver 打包用于重建工程的文件
http://www.rickysu.com/bo/post/202/
VHDL下类似Verilog #ifdef的语句
[
2008/05/22 16:58 | by RickySu ]
2008/05/22 16:58 | by RickySu ]
有人问在VHDL下有没有类似#ifdef的语句,可不可以认为configuration和verilog的 #ifdef 类似。
configuration,怎么说,在一定程度上可以,但是由于ISE的支持也不是很全,实际操作中估计比较难应用。
其实VHDL下的更类似 #ifdef 的语句是 generate:
1、定义一个generic,可以从外部传递参数
2、通过if xx = '1' generate xxx 的形式,把 #ifdef 包含的内容写出来
一般在做一个可配置的IP core 的时候比较有用。
EDK里面很多IP都是这样写的。
configuration,怎么说,在一定程度上可以,但是由于ISE的支持也不是很全,实际操作中估计比较难应用。
其实VHDL下的更类似 #ifdef 的语句是 generate:
1、定义一个generic,可以从外部传递参数
2、通过if xx = '1' generate xxx 的形式,把 #ifdef 包含的内容写出来
一般在做一个可配置的IP core 的时候比较有用。
EDK里面很多IP都是这样写的。
PetaLinux v0.30rc1 on EDK 9.1.02
[
2008/04/02 21:47 | by RickySu ]
2008/04/02 21:47 | by RickySu ]
PetaLinux v0.30rc1 on EDK 9.1.02
实验流程以及注意点
2008.04.02 - Initial Version
下载文件 (已下载 71 次)
实验流程以及注意点
2008.04.02 - Initial Version
下载文件 (已下载 71 次)
整理一下常用的工具:
Crimson Editor - 除了没有文件比较功能外堪比Ultraedit的免费工具,虽然2004年已停止开发,但功能依然强大,读取几百兆的大文件也不会死机。
EximDiff - 免费好用的文件比较器,弥补Crimson Editor的不足
VIM - 虽然很复杂很多操作我不熟悉,但是因为内置很多文件类型的高亮语法,被我用来当作阅读器:)
FreeLaunchBar - 替代Windows的Quick Launch Bar,可以在里面放文件夹,一点都不占地方
FileZilla - FTP工具。我还在用2.3版本,因为新版本不支持Socks Proxy了:(在公司就不能用了
PDFCreator - 生成PDF的工具
PDF XChange Viewer - 比免费的Acrobat Reader更好的PDF阅读器,可以添加评论哦:)非常推荐
IrfanView - 免费看图软件。用不惯ACDSee和Picasa。
FireFox - 浏览器当然是少不了的
Crimson Editor - 除了没有文件比较功能外堪比Ultraedit的免费工具,虽然2004年已停止开发,但功能依然强大,读取几百兆的大文件也不会死机。
EximDiff - 免费好用的文件比较器,弥补Crimson Editor的不足
VIM - 虽然很复杂很多操作我不熟悉,但是因为内置很多文件类型的高亮语法,被我用来当作阅读器:)
FreeLaunchBar - 替代Windows的Quick Launch Bar,可以在里面放文件夹,一点都不占地方
FileZilla - FTP工具。我还在用2.3版本,因为新版本不支持Socks Proxy了:(在公司就不能用了
PDFCreator - 生成PDF的工具
PDF XChange Viewer - 比免费的Acrobat Reader更好的PDF阅读器,可以添加评论哦:)非常推荐
IrfanView - 免费看图软件。用不惯ACDSee和Picasa。
FireFox - 浏览器当然是少不了的
在EDK中插ChipScope
[
2008/03/13 10:28 | by RickySu ]
2008/03/13 10:28 | by RickySu ]
XPS --> Debug --> Debug Configuration可以很方便地添加ChipScope的各种Core:ILA, IBA, VIO,工具会自动连线。值得注意的是VIO都能自动填上,这在ISE里面是需要手动例化的。
1. IBA 用来观察总线上的信号
2. ILA 可以观察各个Core的端口信号,但是看不到Core内部信号。
如果要看内部信号,Workaround是
a.在ISE中添加ILA。需要保证有可用的BSCAN资源,不过一般来说设计中没有自己例话BSCAN的话是不会不够用的。这种方法比b方法方便一些。
b.预留好足够的Trigger/Data port,布局布线完成后在FPGA Editor中通过Tools --> ILA 工具修改。这样可以不用ISE(虽然现在import EDK to ISE越来越简单了),但是这样做的潜在问题是ChipScope连线的Timing有可能不满足。
一般来说推荐用a方法。
3. ILA 的属性:
默认情况下Trigger as Data是选上的,此时只需要连接Trig0 Trig1...等端口,不需要连接Data Port。如果取消选择,则需要手动分别选择Trig和Data。
1. IBA 用来观察总线上的信号
2. ILA 可以观察各个Core的端口信号,但是看不到Core内部信号。
如果要看内部信号,Workaround是
a.在ISE中添加ILA。需要保证有可用的BSCAN资源,不过一般来说设计中没有自己例话BSCAN的话是不会不够用的。这种方法比b方法方便一些。
b.预留好足够的Trigger/Data port,布局布线完成后在FPGA Editor中通过Tools --> ILA 工具修改。这样可以不用ISE(虽然现在import EDK to ISE越来越简单了),但是这样做的潜在问题是ChipScope连线的Timing有可能不满足。
一般来说推荐用a方法。
3. ILA 的属性:
默认情况下Trigger as Data是选上的,此时只需要连接Trig0 Trig1...等端口,不需要连接Data Port。如果取消选择,则需要手动分别选择Trig和Data。





