Что в итоге получилось:
- убрана зависимость от фазы F1
- фаза F2 переведена на фронт, единая частота для всей системы
- добавлена шина Wishbone
- сохранение таймингов зависит от реализации внешней памяти. При чтении модель выставляет адрес на шину только в такте Т2, если память успевает выдать данные за такт то оригинальные таминги сохраняются. В моей примерной системе память регистровая, она умеет только за два такта, поэтому чтение всегда растянуто на один такт. При чтении используется бывший вход READY. При записи адрес выставляется также в такте Т2, но поскольку строб записи по факту будет в T3 тут не так критично. Торможение при записи (если вдруг внешний агент не готов) осуществляется общим разрешением клока (тот что был F2). Как ни странно, ресурсов это не забирает, что с разрешением, что без - практически одинаково
- Результаты на плате DE0 (Cyclone EP3C16F484C6):
112MHz clock, 814 LUTs and 296 flip-flops при оптимизации по скорости
94 MHz clock, 662 LUTs and 187 flip-flops при оптимизации по размеру
- все это можно найти на гитхабе