У вас есть dout
и count
, назначенные в обоих процессах.
Из IEEE Std 1076-1993:
12.6.1 Драйверы
Каждая инструкция присваивания сигнала в операторе процесса определяет набор драйверов для определенных скалярных сигналов. Существует один драйвер для заданного скалярного сигнала S в инструкции процесса, при условии, что в этом заявлении есть хотя бы один оператор присваивания сигнала, и что самый длинный статический префикс целевого сигнала этого оператора присваивания сигнала обозначает S или обозначает из которых S является подэлементом. Каждый такой оператор присваивания сигнала считается связанным с этим драйвером. Выполнение оператора присваивания сигнала влияет только на соответствующий драйвер (ы).
blockquote>Это по существу означает, что вы дублируете как
count
, так иdout
.Существует много способов моделирования поведения
dout
иcount
, которые вы желаете. Бифуркация их работы в двух процессах на основе начальных и конечных событий не является одним из них. Для этого потребуется три процесса: один для события, один для события прерывания и один для хранилища с тактовой частотой. Для работыcount
вам, вероятно, понадобятся отдельные события.