Oct
11
从搜索频率,可以间接看出一个产品的认知度。我觉得这就是Google Trends的用处。
搜索一下Google Trends,发现一些有趣的情况:

从2004年到2008年的总体情况来看,Xilinx比Altera高。

如果仅看2008年,两者是差不多的。
但是Altera的新闻引用量始终都比Xilinx高。
通过观察和调整下半部分的排序依据,可以看到:
1. Lattice的关注程度一直都很高,这是一个我无法解释的情况。但是一个很容易注意到的地方就是,韩国、意大利和澳大利亚对Lattice的热情比较高。在美国的全国范围内看,Lattice的搜索量也比非常之高。
2. Xilinx指数高的地方,Altera也不会低到哪里去;相反Altera指数高的地方,有一个地方-巴西 是其他三家的指数都几乎是0。
3. 从中国来看,Altera在西安的搜索量比X高出一截。这可能和A的大学计划做的比较好有关。
4. 看国内的城市,搜索量最大的是城市依次是:深圳,西安,北京,成都,上海。从这里可以很明显看出FPGA产业的客户所在的地理位置。
搜索一下Google Trends,发现一些有趣的情况:
从2004年到2008年的总体情况来看,Xilinx比Altera高。
如果仅看2008年,两者是差不多的。
但是Altera的新闻引用量始终都比Xilinx高。
通过观察和调整下半部分的排序依据,可以看到:
1. Lattice的关注程度一直都很高,这是一个我无法解释的情况。但是一个很容易注意到的地方就是,韩国、意大利和澳大利亚对Lattice的热情比较高。在美国的全国范围内看,Lattice的搜索量也比非常之高。
2. Xilinx指数高的地方,Altera也不会低到哪里去;相反Altera指数高的地方,有一个地方-巴西 是其他三家的指数都几乎是0。
3. 从中国来看,Altera在西安的搜索量比X高出一截。这可能和A的大学计划做的比较好有关。
4. 看国内的城市,搜索量最大的是城市依次是:深圳,西安,北京,成都,上海。从这里可以很明显看出FPGA产业的客户所在的地理位置。
Oct
9
问题:在EDK中为某个Project设置的Optimize Level都只针对这个Project下的C,而Library都默认以-O2编译。这对调试的情况有一些不便。怎样设置让LibGen以-O0编译库?
解决:Platform Settings --> Software Platform --> Microblaze_0 --> extra compiler flags = -g -O0 ".
解决:Platform Settings --> Software Platform --> Microblaze_0 --> extra compiler flags = -g -O0 ".
Oct
8
http://www.escet.urjc.es/~phuerta/SMP_project.htm
引用
The system can be used as an example of how to build SMP systems on
FPGA and how to write applications for it.
In the software side, a modified version of xilkernel I have developed
is used to write multi-threaded applications that run on the SMP
system.
FPGA and how to write applications for it.
In the software side, a modified version of xilkernel I have developed
is used to write multi-threaded applications that run on the SMP
system.
Oct
7
先来看Xilinx的两个Answer Record:
AR #31256 - 10.1 EDK - How to add a user software library in a project?
AR #29926 - 10.1 EDK - How can I create a user library in SDK?
一个说怎么用,一个说怎么做,看似很好,但是那个说怎么做的基本上等于没说。
于是找到另一个教程:Creating a shared and static library with the gnu compiler (gcc)
于是在SDK里实现的基本过程就变成:
1. 在SDK中首先需要把原来的程序调试成功,能得到正确的elf文件
2. 把SDK_projects\\Debug 目录中的.o文件都copy到另一个文件夹
3. 打开edk shell,用命令mb-ar -rcs libuser.a xx.o xx.o xx.o 把所有的.o文件集合为.a文件
4. 删除原来的.c文件
5. 在SDK的project properities中设置library的名字=user,并添加路径
6. 重新编译工程
[更多资料]
http://www.dwheeler.com/program-library/Program-Library-HOWTO/index.html
AR #31256 - 10.1 EDK - How to add a user software library in a project?
AR #29926 - 10.1 EDK - How can I create a user library in SDK?
一个说怎么用,一个说怎么做,看似很好,但是那个说怎么做的基本上等于没说。
于是找到另一个教程:Creating a shared and static library with the gnu compiler (gcc)
于是在SDK里实现的基本过程就变成:
1. 在SDK中首先需要把原来的程序调试成功,能得到正确的elf文件
2. 把SDK_projects\
3. 打开edk shell,用命令mb-ar -rcs libuser.a xx.o xx.o xx.o 把所有的.o文件集合为.a文件
4. 删除原来的.c文件
5. 在SDK的project properities中设置library的名字=user,并添加路径
6. 重新编译工程
[更多资料]
http://www.dwheeler.com/program-library/Program-Library-HOWTO/index.html
Oct
7
[2008.3.13]
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。
[Update 2008.10.7]
4. 另外一种情况是,如果之需要对某一个Core做观察,那么可以把ChipScope ILA单独加到这个Core中。所使用的工具是ChipScope Inserter。
流程是:EDK -> Generate Netlists, 在implementation目录中找到对应的ngc文件,添加到chipscope inserter,设置好trigger属性后生成对应的ngo文件。把ngc文件改名,把ngo再改成ngc。然后在EDK中运行Hardware --> Generate Bitstream。
可能遇到的问题:这样插入的ChipScope Core和EDK的MDM都需要用到BSCAN。在Spartan3系列器件上不能通过,但是在Virtex4和Virtex5上是没有问题的。
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。
[Update 2008.10.7]
4. 另外一种情况是,如果之需要对某一个Core做观察,那么可以把ChipScope ILA单独加到这个Core中。所使用的工具是ChipScope Inserter。
流程是:EDK -> Generate Netlists, 在implementation目录中找到对应的ngc文件,添加到chipscope inserter,设置好trigger属性后生成对应的ngo文件。把ngc文件改名,把ngo再改成ngc。然后在EDK中运行Hardware --> Generate Bitstream。
可能遇到的问题:这样插入的ChipScope Core和EDK的MDM都需要用到BSCAN。在Spartan3系列器件上不能通过,但是在Virtex4和Virtex5上是没有问题的。








