- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
What does it mean that instantiat ions should be in one place ?
[ Edited ]
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-15-2012 02:40 AM - edited 03-15-2012 02:41 AM
Hello, I'm having a problem in understanding the 2nd page of "Suggested Instantiation" in "Basic HDL Coding Techniques Training Video", maybe it's because of my point of view. As the video suggests that all instantiations (I think this means the "instantiations of FPGA resources", HDL-built modules can be instantiated too) should be in one place, I saw in the video that there are IOBUF, DCM, etc, these make sense to me that they appear at the top level. If so, how instantiations that works in different (lower) levels could be managed ? For example, an instantiated BRAM that I want to place in a deep submodule in my design.
Sorry if I don't understand something correctly from the first place and if I'm not on the way on which the video is, I also posted my question on Youtube.
http://www.youtube.com/watch?v=EKCHww5kUok
Tennirva
Re: What does it mean that instantiat ions should be in one place ?
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-15-2012 08:08 AM
Hi Tennirva,
I think there is a little mis-interpretation;
The video tries to say that top level Xilinx specific blocks should be at the top level (or maybe one level down) but does not talk about BRAM in particular.
My take on the first few slides was that the IO blocks / DCM|PLL should be a the top and not burried deep down inside which will make the design hard to debug/port.
I watch only once, I may have missed something too :)
I hope this helps.
Re: What does it mean that instantiat ions should be in one place ?
[ Edited ]
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
03-15-2012 11:29 AM - edited 03-15-2012 11:30 AM
tennirva wrote:
Hello, I'm having a problem in understanding the 2nd page of "Suggested Instantiation" in "Basic HDL Coding Techniques Training Video", maybe it's because of my point of view. As the video suggests that all instantiations (I think this means the "instantiations of FPGA resources", HDL-built modules can be instantiated too) should be in one place, I saw in the video that there are IOBUF, DCM, etc, these make sense to me that they appear at the top level. If so, how instantiations that works in different (lower) levels could be managed ? For example, an instantiated BRAM that I want to place in a deep submodule in my design.
You can instantiate the Xilinx primitives wherever you want in your design hierarchy. There's no real reason to limit them to the top level of the design.
For example, I have a Camera Link transmitter module which instantiates OSERDES and the LVDS output buffers, and that entity is instantiated three times using a generate couple of levels down in the hierarchy. It would be madness to bring all of the control and data signals to the top level and back down to the lower level for handling.
----------------------------------------------------------------
Yes, I do this for a living.











