Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21602 Discussions

Timing contrain

Altera_Forum
Honored Contributor II
1,568 Views

Hi, 

 

By using Megafunction altsyncram, is there any method to know the timing value for the following before it violated? 

 

Megafunction -> M9k, 30ns period  

Reference -> http://subversion.assembla.com/svn/micro_core/referencje/altera/ug_ram.pdf 

 

1) tWC - the maximum write cycle time ( what is the value) 

2) tWE - the write enable interval time 

3) the time write enable need to be valid after the rising clk 

4) the time data and address need to be valid after the write enable 

 

thanks in advance for the help, 

regards 

tan
0 Kudos
8 Replies
Altera_Forum
Honored Contributor II
798 Views

You are talking about FPGA OnChip memory. 

These memory blocks can handle up to fmax that is possible depending upon the target fpga device you are using. Quartus knows the timing requirements for the specified device. for example if a specific fpga can run at a internal fmax of 200MHz then the onchip memory can also run at 200MHz. you need to look at the datasheet of your fpga 

so you do not need to look at these memories as if they were off chip devices were you need to obey tWC and tWE.
0 Kudos
Altera_Forum
Honored Contributor II
798 Views

thanks for your reply MSchmitt, 

If I were using Aria II EP2AGX125EF35I5ES, when i look at the datasheet -> http://www.altera.com/literature/hb/arria-ii-gx/aiigx_5v3.pdf 

I could not find any information for the above. Am I looking for the wrong data sheet?
0 Kudos
Altera_Forum
Honored Contributor II
798 Views

sorry i think you didn't understand what i tried to explain. 

the timing parameters for FPGA OnChip memory is well known and obeyed (if possible) by quartus. you don't have to think about timing parameters for on chip memory as if it is an external memory where you must obey the tWC and tWE parameters. so you won't find these parameters, at least i haven't seen them and havn't searched for them  

the onchip memory runs as fast as the fmax of the fpga is. that means you can read and write up to fmax. If fmax is 400MHz then you can write at 400MHz and each memory cycle is 1 clock ....
0 Kudos
Altera_Forum
Honored Contributor II
798 Views

Thanks again, now I get what you had means. 

 

Btw, does that apply to address setup time as well? The address lines are in active full clk cycle before the data out. We need a further data on address setup time.  

 

By trying to interface some of this RAM with PCI back end bus. And to cut down the number of clock cycles required, had tried to connect the backend bus address signal to the RAM without register. However there is combinational address going on, selecting the particular block ram to pay attention to. 

 

So, does the address setup time would be same as above as well? 

 

Many thanks for answering
0 Kudos
Altera_Forum
Honored Contributor II
798 Views

so you want to make the internal memory accessible for external access like PCI ? 

 

if you have registers at the input to syncronize the external signals to the internal clock and registers at the output, the internal memory timing shouldn't worry you as quartus will obey the timing of the registers and internal memories as long as it is possible. otherwise you will get the timing warning information. 

 

if you external signals are not related to a clock that is a input to your internal logic, i am quit unshure what the best practise would be. sorry i did had this problem yet.
0 Kudos
Altera_Forum
Honored Contributor II
798 Views

There are some subtle things about these ram blocks, one is that the input and output REGS are optional. The address input is LATCHED whether or not there is an input reg. So without the reg the hold time is for the latch function. Your address in does not have to be held steady for the entire cycle, just long enough to get latched. The documentation says that the output reg only delays the output 1 cycle, so it seems like the reg options are to be used in pipelined designs. The documentation button menu on Megawizard will generate sample waveforms and other info about the other options as well. Violating setup/hold times on the input can corrupt the memory contents, so be very sure to sync up external signals in order to drive the array.

0 Kudos
Altera_Forum
Honored Contributor II
798 Views

That is correct

0 Kudos
Altera_Forum
Honored Contributor II
798 Views

thanks for the info

0 Kudos
Reply