cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
327 Views
Registered: ‎04-14-2019

Open Source Project using primatives and 3rd party simulators

Jump to solution

I am looking at creating an open-source project using an Artix 7 chip.  This project will require FIFOs and from the libraries guide (UG953) it looks like the only way to use FIFOs is by direct instantiation of the primitives or by the CORE Generator.  Direct instantiation is preferred here.

A goal of the project is to use as many open source tools as possible so Verilator is the target simulator and it appears the only way to use Verilator with primitives is to hack on the code in the unisims folder to make it compatible.  This is acceptable but the concern is about hosting this modified simulation code in an open-source project as the file is clearly marked with Xilinx copyright.  What is the intended workflow for an open-source project like this where inference isn't an option?  Should we write our own FIFO simulator file or is there another solution to this simulation problem.  Preferably the project should be simulatable on a machine without Vivado installed.

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
302 Views
Registered: ‎07-16-2008

回复: Open Source Project using primatives and 3rd party simulators

Jump to solution

I think you may manually code to infer FIFO logic, rather than using hard FIFO block.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

4 Replies
Highlighted
Xilinx Employee
Xilinx Employee
303 Views
Registered: ‎07-16-2008

回复: Open Source Project using primatives and 3rd party simulators

Jump to solution

I think you may manually code to infer FIFO logic, rather than using hard FIFO block.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

Highlighted
Visitor
Visitor
295 Views
Registered: ‎04-14-2019

回复: Open Source Project using primatives and 3rd party simulators

Jump to solution
As I read UG953 it says explicitly that FIFOs cannot be inferred. I also have not been able to find any examples that inferred a FIFO. Also according to this answer FIFOs cannot be inferred: https://forums.xilinx.com/t5/Xilinx-IP-Catalog/Can-you-infer-a-FIFO/td-p/960995

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
290 Views
Registered: ‎07-16-2008

回复: Open Source Project using primatives and 3rd party simulators

Jump to solution

The answers are with regards to the library cell FIFO, i.e. the hard FIFO block.

You can certainly infer soft FIFO logic (using fabric) by your own code.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Highlighted
Advisor
Advisor
285 Views
Registered: ‎04-26-2015

回复: Open Source Project using primatives and 3rd party simulators

Jump to solution

Adding to that - a "soft FIFO" is almost certainly a better option for an open-source project. A soft-FIFO will be usable with almost any chip and almost any toolchain (eg. Intel or Lattice chips) whereas a hard FIFO is restricted to the Xilinx chips (and possibly to the 7-series depending on how much the hardware changed between generations). This opens up the possibility of implementing this open-source project with open-source tools on the Lattice chips in particular (because an open-source toolchain exists for them).