HdlTarget=zynq targets different FPGA fabric (Artix7 and Kintex7) of the 7-series devices

A
aponchak@geontech.onmicrosoft.com
Fri, May 7, 2021 11:56 AM

https://forums.xilinx.com/t5/Design-Entry/What-to-expect-when-using-edf-files-compiled-for-Artix-7-in-a/m-p/1238396#M26610

The link above is post on the Xilinx forum that posses the question of what to expect when using EDF files built for A7 (HdlTarget=zynq) in a design which is actually targeting a K7, which represents the current situation when building for a PicoZed 7030 platform.

I propose creating a new HdlTarget “zynq_k7” and properly assigning the 7-series devices across '“zynq” (A7) and “zynq_k7” (K7). The following are the proposed changes to hdl-targets.mk:

+HdlTargets_xilinx:=isim virtex5 virtex6 spartan3adsp spartan6 zynq_ise zynq zynq_k7 zynq_ultra xsim x4sim
-HdlTargets_zynq:=xc7z007s xc7z012s xc7z014s xc7z010 xc7z015 xc7z020 xc7z030 xc7z035 xc7z045 xc7z100 xc7z035i
+HdlTargets_zynq:=xc7z007s xc7z012s xc7z014s xc7z010 xc7z015 xc7z020
+HdlTargets_zynq_k7:=xc7z030 xc7z035 xc7z045 xc7z100 xc7z035i
+HdlDefaultTarget_zynq_k7:=xc7z030
+HdlToolSet_zynq_k7:=vivado

Thoughts?

https://forums.xilinx.com/t5/Design-Entry/What-to-expect-when-using-edf-files-compiled-for-Artix-7-in-a/m-p/1238396#M26610 The link above is post on the Xilinx forum that posses the question of what to expect when using EDF files built for A7 (HdlTarget=zynq) in a design which is actually targeting a K7, which represents the current situation when building for a PicoZed 7030 platform. I propose creating a new HdlTarget “zynq_k7” and properly assigning the 7-series devices across '“zynq” (A7) and “zynq_k7” (K7). The following are the proposed changes to hdl-targets.mk: \+HdlTargets_xilinx:=isim virtex5 virtex6 spartan3adsp spartan6 zynq_ise zynq zynq_k7 zynq_ultra xsim x4sim\ \-HdlTargets_zynq:=xc7z007s xc7z012s xc7z014s xc7z010 xc7z015 xc7z020 xc7z030 xc7z035 xc7z045 xc7z100 xc7z035i\ \+HdlTargets_zynq:=xc7z007s xc7z012s xc7z014s xc7z010 xc7z015 xc7z020\ \+HdlTargets_zynq_k7:=xc7z030 xc7z035 xc7z045 xc7z100 xc7z035i\ \+HdlDefaultTarget_zynq_k7:=xc7z030\ \+HdlToolSet_zynq_k7:=vivado Thoughts?
AO
Aaron Olivarez
Mon, May 10, 2021 3:58 PM

We need more evidence to justify this, perhaps try building against zynq_k7
and compare it to zynq implementations to see if they really do produce
different results. In the near future (2.2 or 2.3) we are removing the
requirement of having to modify OpenCPI repo to add new targets or
architectures and it would be on the OSP developer to decide if a new
target is necessary.

Aaron

On Fri, May 7, 2021 at 6:56 AM aponchak@geontech.onmicrosoft.com wrote:

https://forums.xilinx.com/t5/Design-Entry/What-to-expect-when-using-edf-files-compiled-for-Artix-7-in-a/m-p/1238396#M26610

The link above is post on the Xilinx forum that posses the question of
what to expect when using EDF files built for A7 (HdlTarget=zynq) in a
design which is actually targeting a K7, which represents the current
situation when building for a PicoZed 7030 platform.

I propose creating a new HdlTarget “zynq_k7” and properly assigning the
7-series devices across '“zynq” (A7) and “zynq_k7” (K7). The following are
the proposed changes to hdl-targets.mk:

+HdlTargets_xilinx:=isim virtex5 virtex6 spartan3adsp spartan6 zynq_ise
zynq zynq_k7 zynq_ultra xsim x4sim
-HdlTargets_zynq:=xc7z007s xc7z012s xc7z014s xc7z010 xc7z015 xc7z020
xc7z030 xc7z035 xc7z045 xc7z100 xc7z035i
+HdlTargets_zynq:=xc7z007s xc7z012s xc7z014s xc7z010 xc7z015 xc7z020
+HdlTargets_zynq_k7:=xc7z030 xc7z035 xc7z045 xc7z100 xc7z035i
+HdlDefaultTarget_zynq_k7:=xc7z030
+HdlToolSet_zynq_k7:=vivado

Thoughts?


discuss mailing list -- discuss@lists.opencpi.org
To unsubscribe send an email to discuss-leave@lists.opencpi.org

We need more evidence to justify this, perhaps try building against zynq_k7 and compare it to zynq implementations to see if they really do produce different results. In the near future (2.2 or 2.3) we are removing the requirement of having to modify OpenCPI repo to add new targets or architectures and it would be on the OSP developer to decide if a new target is necessary. Aaron On Fri, May 7, 2021 at 6:56 AM <aponchak@geontech.onmicrosoft.com> wrote: > > https://forums.xilinx.com/t5/Design-Entry/What-to-expect-when-using-edf-files-compiled-for-Artix-7-in-a/m-p/1238396#M26610 > > The link above is post on the Xilinx forum that posses the question of > what to expect when using EDF files built for A7 (HdlTarget=zynq) in a > design which is actually targeting a K7, which represents the current > situation when building for a PicoZed 7030 platform. > > I propose creating a new HdlTarget “zynq_k7” and properly assigning the > 7-series devices across '“zynq” (A7) and “zynq_k7” (K7). The following are > the proposed changes to hdl-targets.mk: > > +HdlTargets_xilinx:=isim virtex5 virtex6 spartan3adsp spartan6 zynq_ise > zynq zynq_k7 zynq_ultra xsim x4sim > -HdlTargets_zynq:=xc7z007s xc7z012s xc7z014s xc7z010 xc7z015 xc7z020 > xc7z030 xc7z035 xc7z045 xc7z100 xc7z035i > +HdlTargets_zynq:=xc7z007s xc7z012s xc7z014s xc7z010 xc7z015 xc7z020 > +HdlTargets_zynq_k7:=xc7z030 xc7z035 xc7z045 xc7z100 xc7z035i > +HdlDefaultTarget_zynq_k7:=xc7z030 > +HdlToolSet_zynq_k7:=vivado > > Thoughts? > _______________________________________________ > discuss mailing list -- discuss@lists.opencpi.org > To unsubscribe send an email to discuss-leave@lists.opencpi.org >
A
aponchak@geontech.onmicrosoft.com
Mon, May 10, 2021 5:47 PM

I did build v2.1.0 with the proposed changes to support the new HdlTarget=zynq_k7 and compared various App Workers but found to significant concerns. That said, an App Workers comparison it not really the best test to determine either way if this new target is warranted.

A better test would be a implement a Device Worker that implements a resource that is only available on the K7, in which case building for the “zynq” (7020) target would fail due to the 7020 (A7) not possessing K7 resources. Another test would be to create a design with speed/performance requirements that only the K7 can support and determine the impacts of using A7 netlists.

So until, this zynq_k7 is adopted or the future (2.2/2.3) becomes the present, developers just need to be aware that HdlTargets=zynq creates synthesized netlists for Artix-7, which are used for all Zynq-7000 devices (i.e. Kintex-7).

I did build v2.1.0 with the proposed changes to support the new HdlTarget=zynq_k7 and compared various App Workers but found to significant concerns. That said, an App Workers comparison it not really the best test to determine either way if this new target is warranted. A better test would be a implement a Device Worker that implements a resource that is only available on the K7, in which case building for the “zynq” (7020) target would fail due to the 7020 (A7) not possessing K7 resources. Another test would be to create a design with speed/performance requirements that only the K7 can support and determine the impacts of using A7 netlists. So until, this zynq_k7 is adopted or the future (2.2/2.3) becomes the present, developers just need to be aware that HdlTargets=zynq creates synthesized netlists for Artix-7, which are used for all Zynq-7000 devices (i.e. Kintex-7).