TFT/VGA Core
[
2008/07/08 17:03 | by RickySu ]
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。
MPMC需要将Native Width设置为64,因为TFT Core的Native Width是64。
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. ODDR
由于这个Core是为Virtex4设计的,使用了Spartan系列不支持的ODDR。在Port到Spartan3ADSP的过程中,将plbv46_tft_cntlr_v1_00_a\hdl\verilog\tft_if.v中158行的ODDR改为
这只是根据原文件改动最小的一种改法。其实对于VGA来说,由于不需要这个信号,完全可以将它去掉。
5. 该Core的Datasheet在UG082中。
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。
MPMC需要将Native Width设置为64,因为TFT Core的Native Width是64。
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,比如:
引用
OPTION ARCH_SUPPORT_MAP = (virtex2p=PREFERRED, virtex4lx=PREFERRED, virtex4sx=PREFERRED, virtex4fx=PREFERRED, virtex5lx=PREFERRED, virtex5sx=PREFERRED, virtex5fx=PREFERRED, spartan3=PREFERRED, spartan3a=PREFERRED, spartan3adsp=PREFERRED, spartan3e=PREFERRED)
4. ODDR
由于这个Core是为Virtex4设计的,使用了Spartan系列不支持的ODDR。在Port到Spartan3ADSP的过程中,将plbv46_tft_cntlr_v1_00_a\hdl\verilog\tft_if.v中158行的ODDR改为
引用
ODDR2 TFT_CLK_ODDR (.Q(TFT_LCD_CLK), .C0(clk), .C1(~clk), .CE(1'b1), .R(1'b0), .D0(1'b0), .D1(1'b1), .S(1'b0));
这只是根据原文件改动最小的一种改法。其实对于VGA来说,由于不需要这个信号,完全可以将它去掉。
5. 该Core的Datasheet在UG082中。
CoreGen batch mode
[
2008/07/07 14:39 | by RickySu ]
2008/07/07 14:39 | by RickySu ]
已经有一个xco文件,要通过xco重新生成core的网表文件,可以用这样的命令行:
coregen -b xxx.xco
coregen -b xxx.xco
How to perform meaningful benchmarks on FPGAs from different vendors
By Seyi Verma, Altera Corporation
Xilinx responds to Altera's FPGA benchmarks
By Clive Maxfield (editor of pldesignline)
这编辑老哥非常搞笑:I spent yesterday (Thursday) celebrating the 30th anniversary of my 21st birthday.
Xilinx PR也非常会说话 - Bruce Fienberg: Hi Max, we're not going to provide a competing article because we don't want to get into a tit-for-tat thing with Altera over these benchmarks and we don't think that would serve the best interests of your readers.
然后就BLA BLA BLA地Share了很多资料 。有兴趣的可以看看呵呵。
文章最后说到,要是有个第三方独立的公司专门来做FPGA Benchmark多好。
估计FPGA Benchmark 还是很难做的。FPGA不像Processor,已经有了一定标准,人们用的方法也都一样。FPGA,用不同的器件有不同的设计结构,谁都不敢说自己的设计已经发挥的FPGA最大的潜力,没有改进的地步。拿两个不是highest performace的结果比较,又有什么意义。
记得以前有一次DSP性能的比较,第三方公司做的。只测某一方面性能,结果还能相信,要说综合性能,谁说得准阿。
By Seyi Verma, Altera Corporation
Xilinx responds to Altera's FPGA benchmarks
By Clive Maxfield (editor of pldesignline)
这编辑老哥非常搞笑:I spent yesterday (Thursday) celebrating the 30th anniversary of my 21st birthday.
Xilinx PR也非常会说话 - Bruce Fienberg: Hi Max, we're not going to provide a competing article because we don't want to get into a tit-for-tat thing with Altera over these benchmarks and we don't think that would serve the best interests of your readers.
然后就BLA BLA BLA地Share了很多资料 。有兴趣的可以看看呵呵。
文章最后说到,要是有个第三方独立的公司专门来做FPGA Benchmark多好。
估计FPGA Benchmark 还是很难做的。FPGA不像Processor,已经有了一定标准,人们用的方法也都一样。FPGA,用不同的器件有不同的设计结构,谁都不敢说自己的设计已经发挥的FPGA最大的潜力,没有改进的地步。拿两个不是highest performace的结果比较,又有什么意义。
记得以前有一次DSP性能的比较,第三方公司做的。只测某一方面性能,结果还能相信,要说综合性能,谁说得准阿。
[业界新闻]Mathstar待售
[
2008/05/30 09:30 | by RickySu ]
2008/05/30 09:30 | by RickySu ]
Business Journal 5月27日消息:
Mathstar will shut down core chip development
Mathstar推出的FPOA曾因为内部速度能跑到上G一度为人所瞠目。没想到落到如此田地,高层纷纷离开,CEO不得不放出风声“to explore strategic alternatives”暗语待售。
对FPOA只是大概知道,因为结构问题,追求速度放弃扩展性和互联性,导致可应用的领域减少。但这应该不是根本问题。如果市场目标做得好,一样可以找到有钱赚的大市场。
待售并不表示穷途末路,更可能是后来者的一个机会。静观后文。
Mathstar will shut down core chip development
Mathstar推出的FPOA曾因为内部速度能跑到上G一度为人所瞠目。没想到落到如此田地,高层纷纷离开,CEO不得不放出风声“to explore strategic alternatives”暗语待售。
对FPOA只是大概知道,因为结构问题,追求速度放弃扩展性和互联性,导致可应用的领域减少。但这应该不是根本问题。如果市场目标做得好,一样可以找到有钱赚的大市场。
待售并不表示穷途末路,更可能是后来者的一个机会。静观后文。
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都是这样写的。






