VTR-to-Bitstream 2 FPGA Architecture File(.xml)
对FPGA架构进行描述,需要用传统的XML语言,其中有这么几个比较重要的tags: <models> describes the .subckt model_name blif instance that are accpected by the FPGA architecture. <layout>specifies the size and shape of the FPGA in grid units. <device>specifies device information,like sizing,timing,area etc <switchlist> specifies the types of switches and their properties. <segmentlist> specifies the types of wire segments and their properties <complexblocklist> this is the most important part of the xml,it specifies the types of functional blocks and their properties.
下面给出一个基于Virtex-6 板子的例子:
<!-- ExampleofaclassicalFPGAsoftlogicblockwith N=10,K=4,I=22,O=10 BLEsconsistingofasingleLUTfollowedbyaflip-flopthatcanbebypassed --> <pb_typename="clb"> <inputname="I"num_pins="22"equivalent="true"/> <outputname="O"num_pins="10"equivalent="true"/> <clockname="clk"equivalent="false"/> <pb_typename="ble"num_pb="10"> <inputname="in"num_pins="4"/> <outputname="out"num_pins="1"/> <clockname="clk"/> <pb_typename="lut_4"blif_model=".names"num_pb="1"class="lut"> <inputname="in"num_pins="4"port_class="lut_in"/> <outputname="out"num_pins="1"port_class="lut_out"/> </pb_type> <pb_typename="ff"blif_model=".latch"num_pb="1"class="flipflop"> <inputname="D"num_pins="1"port_class="D"/> <outputname="Q"num_pins="1"port_class="Q"/> <clockname="clk"port_class="clock"/> <interconnect> <directinput="lut_4.out"output="ff.D"/> <directinput="ble.in"output="lut_4.in"/> <muxinput="ff.Qlut_4.out"output="ble.out"/> <directinput="ble.clk"output="ff.clk"/> </interconnect> <completeinput="{clb.Ible[9:0].out}"output="ble[9:0].in"/> <completeinput="clb.clk"output="ble[9:0].clk"/> <directinput="ble[9:0].out"output="clb.O"/> <!--DescribecomplexblockrelationwithFPGA--> <fc_intype="frac">0.150000</fc_in> <fc_outtype="frac">0.125000</fc_out> <pinlocationspattern="spread"/> <gridlocations> <loctype="fill"priority="1"/> </gridlocations>
这种代码是对该block的具体描述,其中会有一些其他的说明,像fc等,可以参考网页: www.eecg.utoronto.ca/vpr/arch_language.html 现在手头里有关于Virtex6的板子,目前还没有在linux环境中真正的跑一次VTR-to-Bitstream。。。怪自己太懒。同时也在看V6的UG,现在准备写基于ZYNQ板子的xml文件,ZYNQ = FPGA(PL) + ARM(PS),vtr实际上就是设计逻辑单元。目前只管PL部分,ZYNQ的PL部分是Xilinx 7系的板子,与6系有很多相似的地方。首要目的就是从layout整体布局上入手,在Virtex-6 FPGA CLB UG364的第8页写到: Each CLB can contain zero or one SLICEM. Every other CLB column contains a SLICEMs. In addition,the 2 CLB columns to the left of the DSP48E columns both contain a SLICEL and a SLICEM. 其中强调了DSP和CLB的布局关系,真心觉得想学好硬件,不得不去面对这些头疼的User Guide,千把多页的英文看着就头大。。。之后还要看7系的UG。 归纳一下要解决的问题: 1、看6系和7系UG中的CLB,RAM,IOB,和DSP之间的布局关系。争取这周能够写出ZYNQ硬件部分的xml文件。 2、电脑需要重装下系统,重新装Ubuntu的虚拟机,扩容,下载xilinx ise linux版本,并且争取本周来一次完整的run-vtr-flow流程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- c# – 具有特殊(丹麦语)字符的Oracle表列名.无法
- ruby-on-rails – 在动态扩展Virtus.model时使用
- react-native – 将navigation.navigate传递给子
- Oracle_PL/SQL(10) 定时器job
- cocos2dx 将3dmax模型和动画导入游戏
- Flex 处理双字节字符(判断汉字长度)的方法
- iphone – iOS模拟器认为文档目录是/ var / root
- 在oracle中查询datetime
- Swift 调用 objc/runtime OBJC_ASSOCIATION_RETA
- 使用Jackson XmlMapper序列化到XML DOM