Replies: 2 comments
-
|
It sounds like you'd like to compose two or more placed and routed circuit together into a single implementation. You can certainly accomplish this with either Vivado or RapidWright with some variation based on the scenario. Perhaps we can define a few terms just to align our understanding:
Although I'm not sure I completely understand your design goals, one way to approach this effort is to start with a high-level design that includes all the logic you want in your final implementation. Partition the logic and hierarchy into specific modules (each noise generator, operation or algorithm gets its own module). Once you have a top level design, you can apply a pblock to each module to match how you want the logic to be placed and routing in the different areas of the FPGA fabric. If you want to swap out the guts of a module with noise logic, you can use either Vivado or RapidWright depending on the requirements. Generally, if you can use Vivado, that might be the easiest. You can swap out logic of a module by turning it into a black_box first and the re-populating it with the contents of a DCP with Be sure to also read up on how pblocks work in Vivado and their associated properties |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the reply. I was interested in seeing how my algorithm would be optimized and implemented around those empty pblocks, before occupying those spaces with my noise logic. I'll try using modules instead and maybe stick to Vivado for this one. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm trying to create a .dcp file that will contain areas for noise generators around or inbetween specific operations of an algorithm. Initially, I would like to create a simple .dcp that will only contain empty pblocks, which need to be kept empty, so that my noise logic can be added later from another .dcp (perhaps using merge). Basically, the algorithm will be implemented around those pblocks and only the generators will be inside the pblocks.
Perhaps I don't fully understand the documentation referring to PBlock creation, but is it better to use setLocked, "fixed" flag, or something else entirely? As far as I understand, "DONT_TOUCH" is only used if there is a netlist or pins.
My alternative (and probably the easiest way to do this, avoiding RW) would be to create the pblocks using Vivado and then exporting the .dcp, but I'm interested in trying to do this using RW if possible.
Beta Was this translation helpful? Give feedback.
All reactions