cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
256 Views
Registered: ‎09-14-2020

VHDL syntax depends on the device ?

Jump to solution

Hello,

I have this project that builds fine for some Spartan 6 chip, but when I tried to build it for some Spartan 3A, it failed *syntax check*. Switched back to 6, everything's fine.

It looks as though VHDL version depended on the device used, which I find extremely surprising. xst command line is the same, and there are no other changes except for the "Design properties -> family etc".

Perhaps I'm missing something obvious, please advise.

ISE DS 14.7 WebPack free license, Windows

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
185 Views
Registered: ‎08-13-2007

In ISE, there were 2 versions of XST with different parsers, depending on the family being targeted.

V6/S6/7 series: https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/xst_v6s6.pdf

previous families (e.g. Spartan-3A): https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/xst.pdf

They didn't want to change the parser and impact existing designs at that time.

You can use the "new" parser with older families but I don't think you can do the reverse.

http://forums.xilinx.com/t5/Synthesis/How-to-enable-the-new-parser-for-XST-in-ISE-12-1/m-p/133272

Cheers,

bt

View solution in original post

5 Replies
Highlighted
244 Views
Registered: ‎07-23-2019

 

Not all you write is VHDL, for example if you use macros like IBUF, OBUF that are hardware-dependent, code is no as portable as one would expect. If you could post the code that fails, that would help.

0 Kudos
Highlighted
Visitor
Visitor
140 Views
Registered: ‎09-14-2020

Thank you ! There, a couple of screenshots.

failure.png
success.png
0 Kudos
Highlighted
Visitor
Visitor
207 Views
Registered: ‎09-14-2020

I'm also struggling with this forum, my replies just keep disappearing for some reason.

Let's try the screenshots again.

 

 

failure.png
success.png
0 Kudos
Highlighted
191 Views
Registered: ‎07-23-2019

It looks like for spartan-6 it is more permissive with regards to functions setting signals.

That code looks to me like an exercise of free complexity. Why don't you get rid of that function and set your signal in the process?

 

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
186 Views
Registered: ‎08-13-2007

In ISE, there were 2 versions of XST with different parsers, depending on the family being targeted.

V6/S6/7 series: https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/xst_v6s6.pdf

previous families (e.g. Spartan-3A): https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/xst.pdf

They didn't want to change the parser and impact existing designs at that time.

You can use the "new" parser with older families but I don't think you can do the reverse.

http://forums.xilinx.com/t5/Synthesis/How-to-enable-the-new-parser-for-XST-in-ISE-12-1/m-p/133272

Cheers,

bt

View solution in original post