Reply by Andy Peters July 21, 20052005-07-21
Brandon wrote:
> I'm new to FPGA synthesis and XST, so I could use some help. > > I'm synthesizing an entity for the first time, and I'm receiving > warnings and errors related to the time type in my models. I realize > that they are not synthesizable. I'm okay with the warnings because I > have them in there for functional simulation only. > > Here is the output from XST in Foundation 7.1: > > <SNIP> > > WARNING:Xst:828 - "/../../../../work/toplevel.vhd" line 28: Constant > <TPDREG> of type Time is ignored. > WARNING:Xst:1537 - "/../../../../work/toplevel.vhd" line 93: Generic > <tpdreg> of type Time is ignored. > > Analyzing generic Entity <component_g> (Architecture <structural_ar>). > ERROR:Xst:834 - "/../../../../work/component_g.vhd" line 58: Generic > <tpdreg> has not been given a value. > --> > > </SNIP> > > It seems to me like XST is ignoring the time types and then later > complaining about a generic of type time in the component > instantiation, the value of which, is propogated from a higher level. > Any thoughts?
It's sorta weird that the top-level entity is being synthesized before the lower level entity. Also, according to page 295 of the XST User Guide v7.1i, "Generic parameters may be declared in the entity declaration part. XST supports all types for generics including integer, boolean, string, real, std_logic_vector, etc." but then, on page 314 under the heading "VHDL Language Support," we're told that in the entity header, Generics are supported for integers only, and further down, under "Physical Types," we're told that TIME is ignored. You may be best off using "synthesis translate_off" and "synthesis translate_on" pragmas around the generics you don't want XST to see. -a
Reply by Brandon July 20, 20052005-07-20
I'm new to FPGA synthesis and XST, so I could use some help.

I'm synthesizing an entity for the first time, and I'm receiving
warnings and errors related to the time type in my models. I realize
that they are not synthesizable. I'm okay with the warnings because I
have them in there for functional simulation only.

Here is the output from XST in Foundation 7.1:

<SNIP>

WARNING:Xst:828 - "/../../../../work/toplevel.vhd" line 28: Constant
<TPDREG> of type Time is ignored.
WARNING:Xst:1537 - "/../../../../work/toplevel.vhd" line 93: Generic
<tpdreg> of type Time is ignored.

Analyzing generic Entity <component_g> (Architecture <structural_ar>).
ERROR:Xst:834 - "/../../../../work/component_g.vhd" line 58: Generic
<tpdreg> has not been given a value.
-->

</SNIP>

It seems to me like XST is ignoring the time types and then later
complaining about a generic of type time in the component
instantiation, the value of which, is propogated from a higher level.
Any thoughts?