Здравствуйте.
Автор рисовал схемку той АТФ которая используется в части видео-контроллера.
Ну а АТФка селектора адреса банально проста и хорошо описывается в альтере табличкой. Для ее синтеза автор подробно расписывал адреса, только нужно найти в теме. Я не анализировал, но вот если адреса идут с каким либо кратным шагом, например 32, то это и на логике не трудно и компактно, лишь недостаток в жесткости. Берем (155,555,1533) ЛА2 , на входы адрес, но в нужных местах через инверторы ЛН1. Выход от ЛА2 на вход разрешения дешифратора любого ИД7, ИД4, ИД3... Входы дешифратора на нужные адреса (это зависит от шага, например А4,А5,А6). Выходы дешифратора и будут равноценны выходам АТФки , то есть пойдут на все чип-селекты БИСов и разной дребедени. До ужаса все просто. На логике не получится 7нс потому что сложится задержка первого звена (ЛН1), второго (ЛА2) и третего (ИДх), те же проблемы будут и в Альтере и в АТФ-ке и в РТ-шке (556РТ5) Автор в теме упоминал об экспериментах с РТ-шками, от которых быстро отказался начиная разгон. Думаю, на логике таких серьезных проблем с задержками не должно быть, не смотря на внушительную цифру в наносекундах, ибо это классика. Если много, и тормозит, берем по быстрее элементную базу... У мелких дешевых альтертоже 15 наносекунд на вентиль (ну по дороже может быть и 10 и 7 и 5), потому это не совсем уж панацея. Конечно же все можно с патрохами упрятать в Альтеру самую мелкую но ножек на достаточно например ЕПМ7032 в ПЛСС на 44 дротика. Конечно же не выгодно Альтеру переводить если АТФок вагон в чулане и прогер есть.
Синтезировать удобно в ручную без всяких карт карно записав все адреса по порядку в столбик строчками в бинарном виде и увидев ту часть которая меняется (это будут входы дешифратора) и которая не меняется (это будут входы ЛА2). Чтобы ЛА2 включила дешифратор, на ее входах нужны все единицы, потому на тех адресных, где записаны нули, ставим инверторы ЛН1, чтобы превратить нули в единицы. Если дешифратор имеет два входа разрешения (155ИД3), то вместо ЛА2 можно и собрать с частей ЛА1, или работать с более широким адресным пространством (входы разрешения в дешифраторах внутри имеют логику "И"). Ну если выходы дешифратора (чип-селекты) будут сидеть в адресном пространстве устройств ввод-вывода, то задействуем только А0-А7, а если отображены на память, то придется брать все А0-А15, ну или если пожертвовать например несколькими старшими адресными, то тогда адреса будут отзеркаливаться с некоторой периодичностью чётное кол-во раз. Например при жертвовании одним старшим все будет повторятся 2 раза, при не использовании двух старших линий адреса, повторов будет четыре, при 3-ех повторов 8, и т.д..
Вот примеры табличных файлов tdf для Максплюса/Квартуса, это только заготовки (то есть нули в нужных местах заменяем на единицы), при синтезе оно работает как обычное ПЗУ например 155РЕ3 или 556РТ4 РТ5 и годится для описания всяких хитроумных селекторов адреса. Для простых может показаться не эффективно, но это наверняка с успехом разрулит компилятор Квартуса и все будет весьма оптимальным. Ну в альтеровских языках я не силен, посему может на это гуру скажут "Феее...!" , но оно наглядно, работоспособно и на первый случай сгодится.
Извините за сумбурность изложения, старался но немного спешил.
Удачи.




Ответить с цитированием