[an error occurred while processing this directive]
|
piap <= '0'; -- Начальные условия
.........................
pipa <= '1'; -- моделирую выствление сигнала на вирт. тригер до клока (время предустановки)
wait until rising_edge(clk); -- по этому событию встает сигнал на выходе виртуального тригера, и капчуриться сигнал на входе вашего регистра, в данном случае будет скапчурен 0
pipa <= '0';
wait until rising_edge(clk); по этому событию падает сигнал на выходе виртуального тригера, и капчуриться сигнал на входе вашего регистра, в данном случае будет скапчурена 1
вот вам и задержка сигнала на входе вашего тригера на 1 такт.
у вас же скорее всего такая ситуация по тестбенчу, вы не можете увидеть задержку на 1 такт, т.к. сигнал у вас встает в то время когда у вас тригер защелкивает информацию на своем входе.
Рекомендую вам прочитать книгу Writing TestBenches 2ed.
Взять ее можно либо в сети, либо у меня, там подобные ситуации и механизм дельта циклов хорошо расписан. книга весит 17 метров в пдфе.
E-mail: info@telesys.ru