FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP

simulink to hdl RAM

Altera_Forum
Honored Contributor II
1,805 Views

lets say i have series of 50 outputs from my simulink model and now i would liketo add in HDL import (vhdl module) to perfome some manipulation onto those 50 outputs. 

 

so first thing is that i need to store the 50 outputs on a memory , a RAM perhaps. the problem here is how do i connect simulink blockset to a RAM?
0 Kudos
8 Replies
Altera_Forum
Honored Contributor II
843 Views

DSP Builder has a LUT function.... you can simply use that and initiate the LUT with a Matlab array that has length of 50...

0 Kudos
Altera_Forum
Honored Contributor II
843 Views

 

--- Quote Start ---  

DSP Builder has a LUT function.... you can simply use that and initiate the LUT with a Matlab array that has length of 50... 

--- Quote End ---  

 

 

 

which LUT blockset should i choose? how do i initiate it with Matlab array??
0 Kudos
Altera_Forum
Honored Contributor II
843 Views

It's called LUT (in the Storage section of DSP Builder blockset)... Drag that to your design, double click to bring up the GUI.... inside the GUI... you can actually initialize it with a MATLAB array...

0 Kudos
Altera_Forum
Honored Contributor II
843 Views

 

--- Quote Start ---  

It's called LUT (in the Storage section of DSP Builder blockset)... Drag that to your design, double click to bring up the GUI.... inside the GUI... you can actually initialize it with a MATLAB array... 

--- Quote End ---  

 

 

hi,  

 

i have tried and seems that i manage to store the input in the LUT and now im thinking how to read the a specific value in the LUT from my HDL import (the LUT is connected to HDL import directly)
0 Kudos
Altera_Forum
Honored Contributor II
843 Views

You also get to specify how many bit for address... for example an 8 bit address means you can store 256 data in the LUT. Then to access the data, simply input the appropriate address in the LUT address input (from 0 to 255). Should be pretty straight forward from this point...

0 Kudos
Altera_Forum
Honored Contributor II
843 Views

 

--- Quote Start ---  

You also get to specify how many bit for address... for example an 8 bit address means you can store 256 data in the LUT. Then to access the data, simply input the appropriate address in the LUT address input (from 0 to 255). Should be pretty straight forward from this point... 

--- Quote End ---  

 

 

 

hi, 

 

sorry..i still cant get it. can you explain further, like give some example ??
0 Kudos
Altera_Forum
Honored Contributor II
843 Views

The LUT has an address port.... and you simply use that to control what value you want to read out from the LUT... for example, if I want to read out the very first element in the LUT (index of 0), then I would simply pass a zero to that address port... 

 

Similarly if I want the 100th element, then I would pass 99 (# of element - 1, because address starts at zero) to the address port... 

 

Inside the LUT GUI, you have an option to specify the number of bits to use for the address... that number of bits control the number of data elements you can store in your LUT.... specifically, you can store up to 2^(address bit) - 1 of elements in the LUT...  

 

Hope this clears it up...
0 Kudos
Altera_Forum
Honored Contributor II
843 Views

 

--- Quote Start ---  

The LUT has an address port.... and you simply use that to control what value you want to read out from the LUT... for example, if I want to read out the very first element in the LUT (index of 0), then I would simply pass a zero to that address port... 

 

Similarly if I want the 100th element, then I would pass 99 (# of element - 1, because address starts at zero) to the address port... 

 

Inside the LUT GUI, you have an option to specify the number of bits to use for the address... that number of bits control the number of data elements you can store in your LUT.... specifically, you can store up to 2^(address bit) - 1 of elements in the LUT...  

 

Hope this clears it up... 

--- Quote End ---  

 

 

 

Hello wronghorizon, I have the same problem as long as store info in DE2 borad concern. 

I have a file with 2^18 elements and 16 bit data, so i wonder if using LUT is quiete enoguh and correcto to do or I should stored that info in any RAM memory (SDRAM for instance) of the DE2 borad. If so, cna I do this form simulink usign DSP builder?? 

 

 

Please let me know 

 

 

Thanks!!! 

 

ismagine
0 Kudos
Reply