- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, i have a problem to read data from an address ( i use the altsyncram block). For example i want to read the value 5 from the address 200. In the mif file i have fill with the number 5 , the space of address 200. I have also put pins in the altsyncram for the address and the data .In the waveform during the clock cycle which the read signal is 1, the result of the address is 200 when the clock goes from 0 to 1, but the data doesn't change. May i have to set a different value in fmax to the classic timing analyzer wizard or set a higher period or something else to change at the options?Generally, i am not an expert about the options ,quartus gives.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
'altsyncram' blocks typically have registers on their input signals and optionally on it's output signals. So, the value on 'q' won't be valid for up to 2 clock cycles after the address is presented.
Could this explain what you're seeing? Cheers, Alex- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thnx Alex, that reply was very helpful. Now, is there something that can i do in order not to have this delay, such as a memory block that quartus provide without these regs or something else?
-Kostas-- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You don't state which device (family) you're using but typically the control signals are always registered going into the ram block. You have an option to register the output value.
You could always just code it as a combinatorial block and let Quartus try and fit it for you... Happy New Year, Alex- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page