Подправил исходник (попереставлял местами строчки).
Теперь удачно без возгласов компилиться и в ISE и в Quartus
Xilinx рулит места еще половину осталось
Вид для печати
Подправил исходник (попереставлял местами строчки).
Теперь удачно без возгласов компилиться и в ISE и в Quartus
Xilinx рулит места еще половину осталось
Отож :)Цитата:
Сообщение от heroy
Раз так много места осталось, кидаю до кучи свой MMU. Устройство не хитрое, но оно отлажено в железе и работает.
Оффтопично, но хочу у гуру спросить: почему verilog? я начал изучать vhdl, потому как начитался, что он более распространён, чем verilog (в comp.lang.vhdl подобные вопросы вызывают новую итерация в священных войнах :) ). Где можно в сети найти хороший учебник по verilog (на русском || английском || немецком)?
Надо MMU до 1мегабайта что бы управляло, за основу раскладка портов KAY
и что бы порты читались наверное (7FFD,1FFD), Но тут целая епопея возникнет по поводу дешифраци портов
Плюс эту логику надо сделать с в другой микрухе,иначе полезных много сигнальчиков внутри окажется
ieee1364 по Verilog написано руским языком с помощью английских слов :)
Evita_Verilog :) на сайте Aldec там жучок прикольный
Это как понять?Цитата:
Сообщение от heroy
Что за жучок? Evita - это типа интерактивный туториал, так?Цитата:
Сообщение от heroy
Отличная документация тем более первоисточник в сети валяетсяЦитата:
Сообщение от icebear
АгаЦитата:
Сообщение от icebear
А вообще у меня книг по этому делу куплено уже гдето на $100 на халяву редко бывает че-то полезное
Потому что на нем удобнее, по крайней мере мне. Он похож на Си, а vhdl - на Аду.Цитата:
Сообщение от icebear
Что не удивительно, поскольку был создан по заказу того же Пентагона. А теперь почему то в Европе он стал более популярен, а в Америке - Verilog.
Я начал с VHDL поскольку на фирме им пользовались. Но когда попробовал Verilog,
то как говорится "never looked back".
Могу переслать по мылу хорошие учебники в pdf, если адрес даш.
Естественно. Я тут спрашивал публику по каким адресам делать, но мнения разошлись. К тому же текущая версия работает в качестве апгрейда 48-го до 128.Цитата:
Сообщение от heroy
И как раз в отдельном XC95XL36 за один американский рубль. Точнее $1.25
Логики остается выше крыши чтобы сделать более одного стандарта. И ножек - тоже. Можно сделать DIP switch на 2 бита - выбор Пентагон/Скорпион/ХХ/YY.
И еще один бит - VGA или TV.
Я думаю это надо упаковывать во вторую микруху (Южный мост типа :) )
Тама должно быть
1. Логика IORQG
2. MMU 1М думаю логично по схеме KAY раз он взят за основу (и стермлюсь с совместимости с ним)
3. Порт #EFF7 bit0 =>VM[0] bit1=>VM[1] bit4=>VM[2] Нужно наверное реализовать еще и bit 2,3 они весьма полезны
4. Главный дешифратор (#7FFD,#1FFD,AY, BetaDisc, i8255, #FE на запись что бы наружу торчало только Speaker, MagOut, и BRD[2:0])
5. Логику ФАПЧ , сепаратара данных, и логику предкомпенсации записи для контролера дисковода
6. Контролер HDD Nemo так чтобы снаружи остались только Регистры защелки
7. Придумать че-то с методом определения этого компа и метод переключения TV/Monitor
8. Всунуть максимум логики от ZX-Multicard которая была зарелизина тут на форуме ( решается вопрос с клавиотурой, мышаком, RTC, CMOS RAM, RS-232)
9. Устроить прелюдное спаливание двух ПСшек :)
В общем головной боли еще много
Если место останется. Иначе легко на рассыпухе делается. И вообще хорошо бы определить что именно хочется сделать. Лично у меня идея такая: маскимально простой (в смысле минимум корпусов) комп на котором можно гонять всякие демки.Цитата:
Сообщение от heroy
Так что мне даже не очевидно что надо FDD делать, тем более что 1793 совершенно не достать. А вот IDE интерфейс было бы очень полезно.
Я вообще когда VHDL в первый раз увидел, мне он показался похожим на PL/SQL, у которого тоже ноги из Ады растут :)Цитата:
Сообщение от alexfreed
Видать в Европе разработчики железа не бывшие сишники :)Цитата:
Сообщение от alexfreed
Учебник надо, очень. Адрес icebear(at)mail333.com. Большое спасибо. В принципе разница между обоими языками понятна, да и почему (а главное кто) отадёт предпочтение тому или иному языку. Всё, сворачиваю оффтопик, жду учебники.Цитата:
Сообщение от alexfreed
А когда всё это в серию пойдёт?Цитата:
Сообщение от heroy
С сериями у нас тлько Роман занимаеться, а это просто как вариант разработать минимальное по цене изделее, для интузиастов которые не боятся пойти заказать плату микрухи (будем стремиться к минимуму), взять поятельный инструмент в ручки, у плюс еще надо уметь микрухи логики прошивать, но там особой проблемы нет, грубо говоря 3 провока в порт принтера и готово.
и вкусной возможностью без проблем с разверткой к монитору подключтиться, у меня на радиорынке к примеру 15" самсунг не сильно подрыпаный без коробки (упаковки в смысле) можно за 30 американских гривней взять, а DAEWOO за 10$ :)
Да и в плисине занимает 9 ножек и чето около 20 ячеек (эти в модели ВГшки уже проверил :) )Цитата:
Сообщение от alexfreed
Каким образом тогда просматривать че на винте? В этом варианте прийдется прошивку писать чеб с ним работать (это больной вопрос в данной среде общества). Ну а контролер естественноЦитата:
Сообщение от alexfreed
Надо будет написать ТЗ. Потом отретушировать и защитить :)
Поддержи Кайевский контроллер, раз уж Кай в качестве образца взял. Контроллер у него несложный и оси его поддерживающие уже есть. ;)Цитата:
Сообщение от heroy
Я буду делать (точнее делаю) под условным названием Турбо3 (как бы продолжаю выбранную линейку).
Ну я в принципе и хочу KAY, вопрос а эти оси можно в ROM разместить а то в лбом случае ее (ОС) как то на винте расположить надо , а если флоповода нет?Цитата:
Сообщение от CHRV
Или её через ПС кинуть туды можно, ( в смысле есть инсталяшка соответствующая)
В стандартной прошивке Кая предусмотрен лоадер с жесткого диска. ТАк что смело соответствующую прошивку и вперед.Цитата:
Сообщение от heroy
iSDOS поддерживает Кай, я даже скажу больше заточена наиболее хорошо под него.
ПО поводу флопповода, Камиль сейчас делает хардваре эмулятор ВГ93 на AVR, токо вместо дискет будет использоваться ФЛАШ карты.Ну это он сам лучше пусть расскажет :).
Это дополнение к ZX Card будет?Цитата:
Сообщение от CHRV
ZXCard - на ATMega8515.Цитата:
Сообщение от heroy
Для работы с флэшкой слабовата, в частности мало ОЗУ (512байт).
Но я ее все таки развел и 3 февраля получу готовые платы.
ZXCard2 - на ATMega128.
Умеет все, что умеет ZXCard + работа с флэшкой и эмуляция ВГ93.
А какой стандар Flash карт будет понимать? Туда бы еще и эмуляцию джойстиков бы на основе готовых железяк (Sega, PS, Dandy )Цитата:
Сообщение от caro
SD и MMC.Цитата:
Сообщение от heroy
И еще вопрос в тему перечитал я все доступные номера журналов с статьями про железо и пришол к такому выводу (правильному ?)
1. INT формируется в начале кадрового импулься
2. INT желательно не долже быть короче 9мкс
3. Для исключения повторного захвата INT особенно в режиме TURBO все же стоит его снимать в цикле INTA (это в духе KAY) по истечению 9мкс сигнал снимается
Не совсем понятно: зачем для работы с флэшкой много памяти? Чтобы FAT анализировать? Или для эмуляции 1793?Цитата:
Сообщение от caro
В режиме IDE по крайней мере буффер не нужен...
Когда я сделал на Compact Flash "диск" для своего Apple на FPGA, так там
вообще никаких мозгов нет. Flash правда не с FAT - записываю под Линуксом
через dd образ диска.
SD/MMC карты работают блоками данных по 512 байт. Если ограничиваться только чтением, то можно и на 8515 реализовать, но когда требуется запись (FAT16), то уже, для правильной работы нужно примерно 2К: 512 байт на буфер данных, 512 байт на сектор FAT1, 512 байт на сектор FAT2, 512 байт на сектор CURRENT DIR...
Можно, конечно, проигнорировать файловую систему, и работать как с рамой, но тогда потеряется универсальность самой флэшки.
ЗЫ: наверно последние посты будет лучше переклеить, а то оффтоп пошел...
Сам ответил на свой вопрос :).Цитата:
Сообщение от alexfreed
На флешке ФАТ с ТРД и запись на флешку тоже надо делать. Ну и про эмуляцию ВГ93 не забывать.
Я так и делаю но не считаю большой потерей. Конечно хорошо если можно на ПиСи кинуть образ .TRD диска на флешку и читать в Спеке. Но не так уж плохо и переложить работу на программу на PC. Я делаю это на Линуксе, но спорю на рубль что можно и под окошками писать на "сырое устройство".Цитата:
Сообщение от jdigreze
Вопрос, раз уже занимаемя большими умными микросхемами возникла по ходу действий мысль
Вот в кратце: Гланый дешифратор (портов, памяти), следит за процом и в момент цикла M1 считывает байт кода операции (или просто сравнивает), с кодами онобайтных команд IN OUT и если они обнаружены и следующий цикл ввода вывода ломится в например порт #FD дешифратор отключает все нестандартные для 128 машины функции и включается полный аналог спектрумовской неполной адресации к примеру (запрет записи в 6,7 бит (или пишуться туда нулики) если по пентагоновки 1Мб то и бит 48 режима на место, отключает выбоку AY хотя как вариант и не стоит)
Далее эту дему можно развить и по другому например команды LD B,B или LD C,C успользовать для системных нужд
Ткните пальцем где я не в ту степь думаю
Такое уже было! Причём всё проще - лочица какой-то один бит ШД в 1 триггер, подобранный так, что если это in/out (#imm) , то он был бы один, а если in/out (c) , то другой. "Отстройка" от всех остальных команд осуществляется банальнейше - по наличию цикла /IORQ.Цитата:
Сообщение от heroy
Ниоткуда не следует, что кто=то не применит такие команды как нопы. Или что их не сгенерит какая-нить хитрозадая генерилка кода.Цитата:
Далее эту дему можно развить и по другому например команды LD B,B или LD C,C успользовать для системных нужд
Во первых как тогда оно работало, глюки уменьшались
Честно вот этой фразы не понял, поясни плизЦитата:
Сообщение от lvd
Это кстати уже использовалося в компутере Спринтер - видеоакселератор использовал как раз такие команды. Достаточно удобно если привыкнуть.Цитата:
Сообщение от heroy
1. Да. Только важно, прежде всего, расстояние в тактах от начала прерывания до начала экрана (первого пикселя изображения).Цитата:
Сообщение от heroy
2. В фирменных машинах INT примерно 32 такта CPU (3,5МГц). Ничего лучше (с точки зрения совместимости) еще не придумали.
3. TURBO-режим является отечественным изобретением и общепринятого стандарта на прерывание в нем нет. Можно сделать INT в два раза короче, при переключении в TURBO, но это усложняет схемотехнику. Можно обрабатывать INTA (подтверждение захвата прерывания), так было впервые сделано в «Балтик», но для совместимости это не очень хорошо. Можно реализовать вариант из схемы KAY1024, достоинства и недостатки которого обсуждались ранее в этой ветке.
P.S. Я бы наверное выбрал вариант с укороченным вдвое INT в режиме TURBO, поскольку отличить программно от стандартного его невозможно. А для совместимости это главное.
Может я чего не понимаю, но мне представляется так:Цитата:
Сообщение от Conan
5 разрядный счетчик (1 корпус) и RS тригер - 1/2 корпуса.
тригер устанавливается по КСИ и счетчик считает CPU clock. Досчитал до 32 - сброс RS тригера. Очень точно и автоматом настраивается на турбу. Нет?
Да. Все именно так, как вы сказали. Добавляется пара (тройка) корпусов мелкой логики.Цитата:
Сообщение от alexfreed
P.S. Сейчас такое усложнение выглядит незначительным, в конце 80-х начале 90-х оно обошлось бы рублей в 10 стоимости (при зарплате 150). Если пересчитать на современные соотношения, то станет понятным, почему наиболее простые модели («Ленинград 1») были столь популярны.
Итого 5 макроячеек а хочется (64 всего что бы было 63 занимает все осттальное) к томуже анало микрухи LVTTL стоит 1.5$ доллраЦитата:
Сообщение от alexfreed
Тут если пересхочить дальше на болшее по эмкости семейство останется много места пустого, ареализовать что то культурное внутри не хватает пинов у микрухи, я и так в этом проекте отключил JTAG что бы накалядовать еще 4 ножки
у MAX 3064 этой лабуды нет так что там по умолчаниюна 4 ноги доступных пользователю больше
Очень не советую пытаться использовать 100% ресурсов. Всегда должен быть небольшой запас потому что почти всегда приходится что-то слегка менять.Цитата:
Сообщение от heroy
Похоже будут у нас 2 разных варианта. У меня сейчас довольно плотно заполнена XC95108. Благо у нее 84 ноги, так что с ногами все хорошо. Внутри делается и видео, и MMU. Снаружи почти ничего не остается для мелкой логики.Цитата:
Сообщение от heroy
У max7064 тоже 84 но вот использовать все нельзя хотябы потому что питание туды сувать надоЦитата:
Сообщение от alexfreed
Какая разница описание и там у тут походит без проблем просто исходник надо писать как минимум что бы его поняли оба синтезатора.Цитата:
Сообщение от alexfreed
Используеться что то около 45 тригеров (и по альтеровски соответственно макроячейки), остальные заняты трасировкой и логикой так что там есть где разгулятся а вот тригеры уже некуда сувать :)Цитата:
Сообщение от alexfreed
А по поводу минимума корпусов так можно к примеру из альтеры взять ciclone II там проц влазиет при частоте около 40МГц и все остальное и по прайсу на altera.ru стоит 16 долоров плус микруха конфигурационного ПЗУ 3 долора и будет весь спек вместе в ВГ93 в одной микрухе так же туда и атемгу или другой микроконтролер всунуть можно и все навороты (всеми мечтаемые спрайтовые движки, перемещение блоков памяти и тд), но большинству микруху в 144 лапы без паяльной станции не припояты так что такое не расматриваю изначально
а плата будет по размеру гнезд натыканых на неё
Ну тогда я не знаю куда ты ноги деваешь. На i/o их 69 остается.Цитата:
Сообщение от heroy
module zx2_dram(clk14,reset,R,G,B,bright,sync,ioreq,memre q,refr,wr_n,rd_n,M1,
ram_addr_m,ram_data,cpu_data,cpu_addr,cas_n,ras_n, A14_rom);
Macrocells Product Terms Registers Pins Function Block
Used Used Used Used Inputs Used
102/108 ( 94%) 273 /540 ( 51%) 65 /108 ( 60%) 56 /69 ( 81%) 201/216 ( 93%)
Т.е. еще 13 ног в запасе.
Это я уже делал. Правда не спек, а Apple и БК0010. И на готовой плате за $99.Цитата:
Сообщение от heroy
Надо будет на ней же сделать прошивку для спека.