Цитата(%-) @ Dec 10 2009, 07:38)

При любом режиме с Thold>0, адрес вычисляется также некорректно.
если верить времянкам что вы привели, вот это очень странно. Th со стороны проца влиять не должен, т.к. в это время он не изменяет состояние линий CS/A/D/WE.
Цитата
P.S. а адрес с данными тоже надо нарезать - а то пиксель пишится в память размазанно влево-вправо
на одном триггере можно и хлопнуть, а вот 2 триггера ИМХО излишне.
Цитата
Там также рассмотрен случай, когда используется комбинационная логика управляющих сигналов, что их надо объединять в функцию ДО синхронизации.
Вопрос - какие из сигналов: CE,WE,A,D являются управляющими?
Я склонен считать что CE и WE - обязательно, а вот на счёт A - не совсем уверен, потому что это - адресный бит от которого зависит распознавание "регистр-память"
И уж совсем менее склонен считать управляющим сигнал D - так как это данные, НО в старших битах - номер регистра.
Если верить времянкам что вы привели и вы используете только запись то ИМХО управляющий сигнал здесь один WE. И обрабатывал я бы его по первому (спадающему фронту) Т.е. в начале фазы записи twr. CE/A/D к этому моменту должны быть уже установлены и удерживаться в фиксированном положении (tsu). WE нарезал бы на 3-х триггерах, последние 2 использовал для детектора фронта. Если на длительности сигнала не менее 2 отсчетов тактовой нарезки, то все должно работать с полпинка при времянках Tsu >= 1, Twr = 1, Th >= 0.
Цитата
у меня уже все ссылки красные в поисковике

еще раз : нужно не гугл читать, а www.altera.com там всё есть. кроме того надо не просто читать, нужно еще и понимать что читаешь.
PS. владеть обоими языками ХДЛ не обязательно, но уметь читать надо оба.
PPS. и ваш VHDL код я бы переписал, на начальном этапе увлечение VHDL variable до добра не доведет. Да и читать ваш код из-за этого сложно.