Это совершенно правильно, и это то, что вы кодировали.
Чтобы выразить это словами: «На переднем крае часов, когда счетчик имеет значение 101, тогда w_en
будетустановить высокое. "
Таким образом, сигнал w_en
, из которого получается o_en
, будет высоким после нарастающего фронта часов.
В то же время, что иw_data
меняется, а после , когда нарастающие часы становятся "110".
Существует два решения:
Проверка на «100» (так на один цикл раньше)
Make w_en (ипри этом о_ен) комбинаторный.
Для последнего вы должны переместить назначение за пределы секции 'clocked' и использовать, например,
w_en <= '1' когда w_data = "101" else '0«; </p>