cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Newbie
Newbie
229 Views
Registered: ‎01-29-2020

XPM_MEMORY_DPDISTRAM

Jump to solution

Hi, I'm currently working on a university project to build a 16-bit CPU that is supposed to run on the Basys3 board, which requires the use of the dual-port distributed RAM macro XPM_MEMORY_DPDISTRAM to implement a 1024 byte RAM module. I was instructed to read the UltraScale Architecture Libraries Guide, and so far, I know where this XPM template is. What I don't know is "copy the contents of the template and paste into your source file." I'm not an expert in VHDL so please kindly teach or show me how to include this template in my design. Thank you!

0 Kudos
1 Solution

Accepted Solutions
Highlighted
166 Views
Registered: ‎01-22-2015

Re: XPM_MEMORY_DPDISTRAM

Jump to solution

@williamntv 

In VHDL, we often declare and instantiate a VHDL component inside another VHDL component.   Using a Xilinx XPM macro is similar.  That is, you instantiate the macro but you do not declare it.

You can try highlighting the instantiation template for XPM_MEMORY_DPDISTRAM found in UG974 and then do a copy-paste into the text-screen of Vivado where you are writing your VHDL.  

However, a better way is to use the Vivado Language Templates as shown below - and do a copy-paste into the text-screen of Vivado where you are writing your VHDL.

Language_template.jpg

Finally, be sure include the xpm library as shown below at the top of your VHDL file where the XPM macro is instantiated.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library xpm; use xpm.vcomponents.all;

Mark

View solution in original post

2 Replies
Highlighted
167 Views
Registered: ‎01-22-2015

Re: XPM_MEMORY_DPDISTRAM

Jump to solution

@williamntv 

In VHDL, we often declare and instantiate a VHDL component inside another VHDL component.   Using a Xilinx XPM macro is similar.  That is, you instantiate the macro but you do not declare it.

You can try highlighting the instantiation template for XPM_MEMORY_DPDISTRAM found in UG974 and then do a copy-paste into the text-screen of Vivado where you are writing your VHDL.  

However, a better way is to use the Vivado Language Templates as shown below - and do a copy-paste into the text-screen of Vivado where you are writing your VHDL.

Language_template.jpg

Finally, be sure include the xpm library as shown below at the top of your VHDL file where the XPM macro is instantiated.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
library xpm; use xpm.vcomponents.all;

Mark

View solution in original post

Highlighted
Newbie
Newbie
143 Views
Registered: ‎01-29-2020

Re: XPM_MEMORY_DPDISTRAM

Jump to solution

Thank you for your instruction. Really appreciate that you have shown me the how-to. Have a great day!

0 Kudos