Sample behavioral waveforms for design file ext_mem_buffer_new.vhd

The following waveforms show the behavior of altsyncram megafunction for the chosen set of parameters in design ext_mem_buffer_new.vhd. For the purpose of this simulation, the contents of the memory at the start of the sample waveforms is assumed to be ( 00000000000000000000000000000000000000000000000000000000FFFFFFF0, 00000000000000000000000000000000000000000000000000000000FFFFFFF1, 00000000000000000000000000000000000000000000000000000000FFFFFFF2, 00000000000000000000000000000000000000000000000000000000FFFFFFF3, ...). The design ext_mem_buffer_new.vhd has two read/write ports. Read/write port A has 1024 words of 256 bits each and Read/write port B has 8192 words of 32 bits each. The A core uses a different clock enable than the A input registers. The B core uses a different clock enable than the B input registers. The output of the read/write port A is registered by clock_a. The output of the read/write port B is registered by clock_b.

Fig. 1 : Wave showing read operation.

The above waveform shows the behavior of the design under normal read conditions. The read happens at the rising edge of the enabled clock cycle. The output from the RAM is undefined until after the first rising edge of the read clock. The clock enable on the read side input registers are disabled. The clock enable on the output registers are disabled.

Fig. 2 : Waveform showing write operation

The above waveform shows the behavior of the design under normal write conditions. The write cycle is assumed to be from the rising edge of the enabled clock in which wren is high till the rising edge of the next clock cycle. In BIDIR_DUAL_PORT mode, when the write happens at the same address as the one being read in the other port, the read output is unknown. Actual write into the RAM happens at the rising edge or falling edge of the write clock, depending on whether the RAM blocks are assigned to M-RAM or not. In the sample waveforms, they are shown to be on the falling edge of the write clock. The clock enable on the write side input registers are disabled. The clock enable on the output registers are disabled. During a write cycle on a port (A or B), the new data flows through to the output of the same port.