评论和留言都有审核功能,会先保存在后台的,所以不必留两遍:)
分页: 1/23 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

malloc

[不指定 2008/07/11 09:47 | by RickySu ]
1. 在EDK里怎么用malloc?要不要include什么头文件?
- 不需要include。直接用就可以了。malloc是包含在lib里的。

2. malloc格式?
double *p = malloc( sizeof *p ); /* 不推荐用 sizeof( double ) */
free(p);
//according to http://cpp.ga-la.com/html/3/3/0510/7.htm

3. 潜在问题?
Xilinx AR30878 - reset后malloc返回null
其实如果malloc后,如果已经free了,那么再怎么reset也无妨。问题只是malloc后没有free,导致.bss内容变化,但reset cpu不重写BRAM/DDR RAM中的.bss,因此需要一段代码在启动时重新加载.bss - 这样.bss就需要先存储到non-volatile中了。很麻烦吧:)
Tags: , ,

Ricky版Tips of Xilinx v0.06

[不指定 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/
Tags: , ,

xps_archiver

[不指定 2008/07/11 09:28 | by RickySu ]
原来还有这么个小工具,可以把XPS所管理的文件备份并压缩成zip文件,包含重建一个EDK工程所需要的最少量的文件,方便重建工程、版本管理、工程分享。

叫啥名 - xps_archiver
在哪里 - EDK安装目录下bin/nt/
都谁有 - 我看到9.1 9.2 10.1都有,8不知道
怎么用 - 打开cmd,cd到工程目录,xps_archiver -o xx.zip xx.xmp
产生啥 - archiver目录下产生xx.zip
Tags: , ,

TFT/VGA Core

[不指定 2008/07/08 17:03 | by RickySu ]
Xilinx TFT/VGA controller core (not official release)

plb_tft_cntlr_v1_00_c -- PLB34, use it for EDK 9.1 or below
http://www.xilinx.com/products/boards/ml405/files/...

plbv46_tft_cntlr_v1_00_a -- PLB46, use it for EDK 9.2 or higher
- Xapp738
https://secure.xilinx.com/webreg/clickthrough.do?c...

注意:
1. 提供的时钟tftClk频率应该是25MHz

2. Memory控制器
   EDK9.1中使用PLB DDR需要开启Burst和Cacheline操作,否则会有两行内容相同的情况。MPMC不需要。
   如果使用MPMC,最好给这个Core单独占用一个MPMC端口,因为数据流量较大。不过在简单的情况下也可以只使用一条PLB Bus。

3. DCR
   DCR控制需要新建DCR bus和PLB2DCR bridge,地址范围4k,[20-29]位将映射为DCR Address。
   连接PLB2DCR的输出sys_dcrclk到tft core的plb_dcr_clk端口
   通过PLB2DCR桥来读写DCR就跟操作普通Memory一样方便,不需要用特殊的指令。
   通过DCR写入Base Address可以快速切换需要显示的地址。
   EDK 9.2中 Spartan系列的IP Catalog不会显示出PLB46_DCR Bridge。需要将这个Core复制到工程pcores目录并修改mpd文件的ARCH_SUPPORT_MAP属性,以支持Spartan3

4. 该Core的Datasheet在UG082中。
Tags: ,

CoreGen batch mode

[不指定 2008/07/07 14:39 | by RickySu ]
已经有一个xco文件,要通过xco重新生成core的网表文件,可以用这样的命令行:

coregen -b xxx.xco
Tags:
分页: 1/23 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]