Ситуация - классическая. Процессор от TI (C6455) подключен к внешней шине через контроллер, собранный на основе ПЛИС Cyclone III по параллельной шине EMIFA.
А проблема состоит в том, что общая шина, выходящая на процессор, с появлением очередного внутреннего регистра, становится все медленнее и медленнее. Т.е. - как я понимаю, внутри Cyclone нет трехстабильных шин и схема реализуется как очень большой мультиплексор, быстродействие которого зависит напрямую от кол-ва псевдовыходов. Это я так думаю.
На практике получается, что для чтения данных мне приходится все больше увеличивать длину сигнала READ (OE) с процессора для нормального чтения (в противном случае в читаемых данных появляются артефакты). При начале разработки она составляла 1+1 такт (12нс). Сегодня я уже вынужден поставить 1+3 такта (24нс).
Нет ли какой-то системной ошибки с моей стороны? Нельзя ли как-то описать шину, чтобы ее быстродействие было выше?
Спасибо!
|