Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите побороть мультиплексор
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Spir0
Решил тут "заПЛИСовать" схему Нажмите для просмотра прикрепленного файла

Все отлично влезло в XC9532XL, только возникли проблемы с последним мультиплексором (IC8 - 555КП12) - на реальной схеме выходы объединены и все работает нормально, но в плис при попытке объединить выходы получаем ошибку что несколько соединений от одного источника и прошивка не компилится. Если же развести выходы на отдельные пины, а потом объединить уже вне плис, то получаю подсаженные уровни и ничего не работает.

Может кто знает что делать в этой ситуации ?
des00
Цитата(Spir0 @ Jul 30 2009, 23:31) *
Может кто знает что делать в этой ситуации ?


Если я правильно читаю вашу схему, то на выходе IC8 собрано монтажное "И". Замените это на логические "И" в вашей схеме прямо на этом выходном пине %)

отвечаю сам себе, был не прав

555КП12 это Селектор-мультиплексор 4*1 с тремя состояниями на выходе.

следовательно на этом пине соберите нужный вам логический мультиплексор и не партесь. в коде на верилоге это будет так

assign MA8 = H2 ? 2Y : 1Y;
faa
Цитата(des00 @ Jul 31 2009, 09:47) *
Если я правильно читаю вашу схему, то на выходе IC8 собрано монтажное "И". Замените это на логические "И" в вашей схеме прямо на этом выходном пине %)

отвечаю сам себе, был не прав

555КП12 это Селектор-мультиплексор 4*1 с тремя состояниями на выходе.

следовательно на этом пине соберите нужный вам логический мультиплексор и не партесь. в коде на верилоге это будет так

assign MA8 = H2 ? 2Y : 1Y;

ИМХО, надо сделать 8-ми входовой MUX (примитив M8_1E) с управлением (H1, RAS, H2) и выходом MA8.
Spir0
Цитата(des00 @ Jul 31 2009, 08:47) *
555КП12 это Селектор-мультиплексор 4*1 с тремя состояниями на выходе.
следовательно на этом пине соберите нужный вам логический мультиплексор и не партесь. в коде на верилоге это будет так
assign MA8 = H2 ? 2Y : 1Y;


Действительно TRI-State, а в библиотеке просто в 0 устанавливается выход. Буду смотреть в сторону управления буферами с Z-состоянием smile.gif

Цитата(faa @ Jul 31 2009, 09:49) *
ИМХО, надо сделать 8-ми входовой MUX с управлением (H1, RAS, H2) и выходом MA8.


Наверно не получится, так как каждый мультиплексор переводится в Z-состояние в зависимости от H2.
XVR
Цитата(Spir0 @ Jul 31 2009, 11:01) *
Наверно не получится, так как каждый мультиплексор переводится в Z-состояние в зависимости от H2.
Не каждый, а оба. Причем в противофазе. Так что на выходе Z состояния не получится при любом сигнале на H2.
Смело ставьте 8->1 MUX
sazh
Цитата(Spir0 @ Jul 31 2009, 09:31) *
Может кто знает что делать в этой ситуации ?


полностью изменить стиль проектирования. Особенно это касается формирования клоков на "с" входы регистров.
По сути реализовать селектор адреса таблицей истинности, на выходе которой регистр по одному клоку
Oldring
Это от какого-нибудь 128 спектрума?
Любопытно, зачем это сейчас может потребоваться?
Rst7
Цитата
Это от какого-нибудь 128 спектрума?


Походу это 256Кб памяти на РУ7 в "Лениграде" smile.gif

За порт 1FFD надо бы яйца на фюзеляж наматывать. Это я авторитетно заявляю smile.gif
Spir0
Цитата(Oldring @ Jul 31 2009, 14:44) *
Это от какого-нибудь 128 спектрума?
Любопытно, зачем это сейчас может потребоваться?


Чисто из академического интереса, есть старая плата 48-го спектрума и simm на 256kB, а также ПЛИС и желание с ней разобраться smile.gif

Цитата(Rst7 @ Jul 31 2009, 14:56) *
Походу это 256Кб памяти на РУ7 в "Лениграде" smile.gif

За порт 1FFD надо бы яйца на фюзеляж наматывать. Это я авторитетно заявляю smile.gif


Да, это вариант расширения до 256кБ для Ленинграда-2, только делаю не на РУ7 а на SIMM30 smile.gif
Порт да, не самый удачный, но в плис же можно засунуть его блокировку :-D
Rst7
Цитата
Порт да, не самый удачный, но в плис же можно засунуть его блокировку


Не блокировку, а заводите на дополнительный бит выбора странички 6й бит порта 7FFD. И все счастливы.

Цитата
для Ленинграда-2


Заодно надо бы WAIT в нем прибить.
Oldring
Цитата(Spir0 @ Jul 31 2009, 16:24) *
а также ПЛИС и желание с ней разобраться smile.gif


В таком случае забыть про ТТЛ схемотехнику и спроектировать требуемую логику исходя из технологии проектирования, приемлемой для ПЛИС.

Цитата(Rst7 @ Jul 31 2009, 15:56) *
Походу это 256Кб памяти на РУ7 в "Лениграде" smile.gif

За порт 1FFD надо бы яйца на фюзеляж наматывать. Это я авторитетно заявляю smile.gif


Да, когда пошли навешивать РУ7 - я уже отошел от Спектрумов.

А в чем была беда с этим портом?
Rst7
Цитата
А в чем была беда с этим портом?


Да обычная проблема (наблюдается даже на фирменном +3, за что его материли) - стандартный хак
Код
LD A,13h
OUT (0FDh),A

вместо
Код
LD A,13h
LD BC,7FFDh
OUT (C),A

приводит к записи в порт 1FFD вместо нужного 7FFD.
Spir0
Цитата(Rst7 @ Jul 31 2009, 15:27) *
Не блокировку, а заводите на дополнительный бит выбора странички 6й бит порта 7FFD. И все счастливы.

Заодно надо бы WAIT в нем прибить.


Была такая мысль, но как на нее отреагируют всякие программы, стандарта ведь так и не было единого, каждый городил как мог smile.gif
Насчет /WAIT что то пока никак, не захотел без него он стабильно работать

offtopic: а не тот ли Вы Rst7 из харьковской Codebusters ?! wink.gif

Цитата(Oldring @ Jul 31 2009, 15:30) *
В таком случае забыть про ТТЛ схемотехнику и спроектировать требуемую логику исходя из технологии проектирования, приемлемой для ПЛИС.


Это потом , сейчас вот хочу с простого со схематика начать, а потом уже попробовать переписать на VHDL
Oldring
Цитата(Spir0 @ Jul 31 2009, 16:47) *
Это потом , сейчас вот хочу с простого со схематика начать, а потом уже попробовать переписать на VHDL


Зря. К тому же, как видите, схематик один в один тоже плохо переводится с ТТЛ на ПЛИС.
Rst7
Цитата
Была такая мысль, но как на нее отреагируют всякие программы, стандарта ведь так и не было единого, каждый городил как мог


Нормально отреагируют. Заметно лучше, чем на 1FFD. Если обычное положение блокировки с портом 1FFD - "заблокировано", то с доп. битами в 7FFD - "разблокировано".

Цитата
Насчет /WAIT что то пока никак, не захотел без него он стабильно работать


Да бросьте. Там надо немного с другой точки CPU Clock взять. Я щас уже не помню, но на первом Ленинграде это все путем переброса пары сигналов решалось. Могу вспомнить, если уж очень надо. Потом захачите Л2 по образу и подобию.

Цитата
offtopic: а не тот ли Вы Rst7 из харьковской Codebusters ?!


Тот.
Spir0
Цитата(Oldring @ Jul 31 2009, 15:50) *
Зря. К тому же, как видите, схематик один в один тоже плохо переводится с ТТЛ на ПЛИС.


Прорвемся, как раз анализ схематика натолкнул на некоторые подводные камни smile.gif
Rst7
Честно говоря, тут на Verilog два десятка строк, из которых 10 - описание входных/выходных сигналов. Реального кода строк на 5.
Spir0
Цитата(Rst7 @ Jul 31 2009, 15:52) *
Нормально отреагируют. Заметно лучше, чем на 1FFD. Если обычное положение блокировки с портом 1FFD - "заблокировано", то с доп. битами в 7FFD - "разблокировано".


Попробую так, когда запущу схему.

Цитата
Да бросьте. Там надо немного с другой точки CPU Clock взять. Я щас уже не помню, но на первом Ленинграде это все путем переброса пары сигналов решалось. Могу вспомнить, если уж очень надо. Потом захачите Л2 по образу и подобию.


Пробовал по схеме VMG, с заводом инвертированной частоты с одного из выводов счетчиков, но с РУ5 ни в какую не пошло, у меня тормозные они В(Г). Но может еще попробую с simm у них выборка пошустрей.

Цитата
Тот.
Не ожидал встретить здесь легенду "сцены" smile.gif В свое время весьма был впечатлен Вашими спектрумовскими работами, а TASM до сих пор многие считают лучшим асмом smile.gif (хотя мне больше ALASM подошел biggrin.gif )
Rst7
Цитата
Пробовал по схеме VMG, с заводом инвертированной частоты с одного из выводов счетчиков, но с РУ5 ни в какую не пошло


Должно было пойти. Чего-то Вы не того завели.
Spir0
Вообщем запустил схему, поставил 8_1E мультиплексор с управлением H1,H2,RAS и все заработало smile.gif Теперь можно будет попробовать переписать на VHDL, покумекать как до 1Мб расширить, ну и /WAIT убрать smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.