微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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流程。

原文地址:https://www.jb51.cc/xml/296654.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。