I am using Vivado:

The following timing is observed:

Notice data_ready goes high after the first 1200 ns.
The test bench for this is suppose to wait until data ready goes high and then proceeds to perform more actions via the following wait until in the test bench:

It never makes it past line 71. Apparently I am doing something wrong, as the timing diagram shows it going to logic '1' but the wait until statement does not seem to work the way I expected. Normally I use wait unit for the clock with no issues, something like this:
wait until rising_edge(clk);
That seems to work fine. Not sure what I am doing wrong here.

The following timing is observed:

Notice data_ready goes high after the first 1200 ns.
The test bench for this is suppose to wait until data ready goes high and then proceeds to perform more actions via the following wait until in the test bench:

It never makes it past line 71. Apparently I am doing something wrong, as the timing diagram shows it going to logic '1' but the wait until statement does not seem to work the way I expected. Normally I use wait unit for the clock with no issues, something like this:
wait until rising_edge(clk);
That seems to work fine. Not sure what I am doing wrong here.