Сигналы не обновляются до тех пор, пока процесс не приостановится, либо нажав оператор ожидания или дойдя до конца процесса, когда у него есть список чувствительности.В вашем примере вы вводите цикл, в котором нет механизма ожидания в течение какого-то промежутка времени.В каждой итерации цикла вы назначаете
epoch <= '1' через 5 нс;</p>
, поскольку вы не ожидаете внутри цикла, каждая итерация занимает 0 дельт, а время никогда не увеличивается ни на одну дельту.(кстати, вам не разрешено ждать здесь, потому что процесс имеет список чувствительности)
Я предлагаю вам отступить от кодирования и начать рисовать больше.Какую схему вы намереваетесь создать этот код?ты можешь нарисовать схему?Поскольку VHDL - это язык описания, вам нужно понимать, какую схему вы пытаетесь создать, а не писать код, который, по вашему мнению, может эмулировать какую-то схему.
Я также подвергаю сомнению необходимость "после"«назначение.Вы не можете синтезировать реальную схему, используя «после» - они существуют только для того, чтобы эмулировать инерционные задержки сигналов и применять только для моделирования.