Я могу отправить тебе .pdf с изображением чаго-там-внутре. Может какие мысли посетят? :)
Я могу отправить тебе .pdf с изображением чаго-там-внутре. Может какие мысли посетят? :)
В общем, смотрите. Возможно есть ошибки, особенно в районе 121.
судя по многочисленным репортам - библиотеки 74й серии у альтеры - кривые!
ты в нагрузку к схеме - поищи оно должно гдето по мотивам схемы создать либо Verilog либо VHDL файл. расширения соотв с .v или .vhd
Думаю тогда будет можно найти неправильно спроектированный элемент и заменить его чем либо другим.
или надо попытаться найти уже чьи-то готовые рабочие библиотеки элементов.
или пробуй запускить симуляцию схемы и смотри где что не так в логике работы
Библиотека 74 легко раскладывается на примитивную логику, достаточно пощелкать по функциям 74. Функции, примененные в Орионе проверены, ошибок там нет. Правда, излишества встречались. Например Z-ключи в регистрах сдвига. Но это уже ни на что не влияет. При желании все эти функции можно выкинуть и воткнуть элементарную логику на их место. А в ней уже ошибок нет по определению :)
Вот, к примеру, буфер 74_373:
Поглазел на твою схему. Вроде нормально. Вот только интересно. Я так понимаю у тебя сейчас проц не подключен. В результате на управляющих сигналах хрень какая то. Например сигнал SNY у тебя по логике вещей сейчас в 1(но может прыгать так как входы его формирующие висят в воздухе), а значит у тебя идет процессорный доступ к памяти. А видео показывает матрац - то что защелкнулось в регистре 74373. Попробуй сигнал SNY сделать постоянной еденицей(принудительно его к 1). По идее у тебя должен быть нормальны матрац без искажений. И не забудь вернуть 74373 как надо :)
Тогда, вопрос к тебе. Без проца картинка устойчивая, т.е. наблюдаться должен полосатый матрац без всяческих вкраплений.
И второе, объясни что ты хотел этим сделать элемент AND4 управления буферами шины данных процессора.
В стандартной схеме ведь идет управление по 73. Когда 73 = 1, идет запись, а когда 73 = 0, то чтение. Как твои буфера TRI управляются, по еденице или по нулю?
Управляется по еденице, то когда 73 = 1(запись) у тебя правильно. Но вот зачем ты сделал на чтение такую большую функцию 74 & 112 & CS0 & CS1. Вроде бы тогда достаточно было бы завести просто 74. А то по твоей логике из ПЗУ читаться никогда не будет. 112 сигнал при обращении к адресу F800h будет равен 0. И при чтении 74 = 1 из ПЗУ у тебя никогда программа выполнятся не будет. И скорее всего мусор который ты видишь, это следствие безумства процессора :mad:
По крайней мере я так понимаю.
Тут все просто. TRIstate_buffer управляется "1". Если "0" на управлении, то он переходит в Z-состояние.
ПЗУ и ВВ55 висят прямо на шинах проца. Поэтому при чтении ПЗУ (112) или ВВ55 (cs0 или cs1) выводы Альтеры НЕ ДОЛЖНЫ переключаться на вывод информации, а быть в Z-состоянии. При чтении информации по RD&MREQ сигнал 73 имеет "0", а 74 "1". Если мы читаем RAM или внутренние порты (в Орионе - ячейки памяти), то на входах AND4 получим четыре "1", т.е. выводы альтеры перейдут в режим "вывода информации". При записи в RAM (порты) RD="1", 74="0", 73="1". Альтера открывает пины на ввод информации по активному 73.