Просмотр полной версии : ПЛИС и всё что с ними связано
Страницы :
[
1]
2
3
4
5
6
7
8
товарисчи, долой HDL-безграмотность! Землю - крестьянам, пиво - студентам, валерьянка - кошкам и бабушкам!
Ниже приведены ссылки на информацию, которая поможет разобраться с таким хитропремудрым делом, как ПЛИС.
И вы увидите, что всё далеко не так страшно :)
Туториалы от alost'a (основы VHDL на примере создания клона ZX-Spectrum 128 + AY) -
http://www.zx.pk.ru/showpost.php?p=179392&postcount=39
Небольшой тутор в нескольких частях от ewgeny7 по программированию альтер способом схемного ввода:
http://www.zx.pk.ru/showpost.php?p=196208&postcount=205
Ссылки на литературу по работе с ПЛИС -
http://www.zx.pk.ru/showpost.php?p=179122&postcount=34
Страничка Альтеровского сайта с описанием и схемой программатора для ПЛИС - ByteBlasterMV -
http://www.altera.ru/cgi-bin/go?35
Дока и схема программатора ByteBlaster 2 для некоторых специфических мероприятий:
http://www.zx.pk.ru/showpost.php?p=194253&postcount=191
Дока по подключению и прошиванию конфПЗУ к FPGA. Рекомендую, работать по такой схеме очень удобно.
http://www.zx.pk.ru/showpost.php?p=179221&postcount=38
Туториал (http://radiokot.ru/start/mcu_fpga/xilinx/01/) по работе с чипами Xilinx на "Радиокоте".
Блогохостинг DI HALTA c публикациями (http://we.easyelectronics.ru/blog/plis/) о ПЛИС.
Мануал (http://www.zx.pk.ru/showpost.php?p=364990&postcount=704) по проектированию ZX-Spectrum на ПЛИС (девборда U9_Reverse).
Текст оригинального сообщения был немного отредактирован модератором. Исключительно по просьбе общественности, т.к. он является первым в этой теме, то ему и рулить ссылками.
Надеюсь автор сообщения на меня не сильно обидится :)
C уважением, модератор Ewgeny7
ILoveSpeccy
21.01.2009, 09:06
я дома воткнул вчера некий Active HDL 6.2..но чёто не совсем понял как и что...
ActiveHDL - отличный симулятор. Я раньше пользовался ModelSIM, но как-то один человек поделился ActiveHDLем.
Теперь езжу на нём. Например мой код AY8910 написан и отлажен на 99% именно в нём.
Для синтеза под альтеру я использую родной альтеровский софт - Quartus.
Качай бесплатную версию на www.altera.com.
Нормальныx сайтов для начинающих я незнаю. Но есть пара книг в pdf/djvu.
нашол какую то Xilinx ISE...по всяким ссылкам пошукал и по виду пахожа как буд-то её надо визуально строить а не методом кода...странна...или я ошибаюсь?!
вообще, как это всё происходит? я так понимаю язык vhdl похож на СИ...и все элементы кодяца именно языком, а визуально просто элементы раскидывать...так ?!?
Sayman, можно самому писать на adhl (altera), vdhl (для всех стандартен), либо нарисовать в редакторе, подобном тому что ты скачал, схемку с помощью 74xx логики, и он синтезирует тебе прошивочку для плиски.
т.е. методом рисования только на 74хх и никаких других, да? и что это за 74хх? альтера? если на xilinxе ппытаца чтото рисовать то не выйдет ничего?
Добрый день!Начну с хорошего!АЛЬТЕРА-это очень просто!VHDL-это тоже очень просто!Особенно для того,кто знаком с любым алгоритмическим языком(начиная с Бейсика и заканчивая СИ).Разница лишь в том,что мы не программируем,а ОПИСЫВАЕМ процессы,которые должны происходить в PLISS или FPGA!Лично мне потребовалось 2 недели для освоения(более подходит РАЗБОРКА) при том что последний раз программировал 15 лет назад!А плохое-для меня оказалось сложнее разобраться с AHDL(Altera HDL) ввиду того что он более напоминает СИ для AVR или PIC с его палочками ,черточками,воскл.знаками.М ало логики,и запоминать много надо.В VHDL все описывается простым человеческим ,очень логичным языком!Но!Это кому как,вечный спор!Главное представлять логику работы устройства,которое надо впихнуть в Альтеру!У меня много книг в Дежавю,могу на мыло скинуть(сообщи мыло),по ним изучал.Без них ни как,но самый простой и быстрый способ-это готовые маленькие проэктики,разбирая которые,сразу въезжаешь в принцип!!!!Заглядывая,конеч о,в книгу!!!Какие вопросы,задавай, помню как сам парился!
Добавлено через 7 минут
В Quartus хороший графический редактор,большая библиотека элементов(исходных примитивов),и не только 74 серии(кстати они пишут,что ее при разработке проекта можно,но не желательно использовать как примитивы)а если чего нет,то можно и свои элементы рисовать.Но лучше не в графике,а описанием,лень схему рисовать.А quartus cам тебе схему выдаст,если конечно не WEB версия!
всё таки не совсем понял на счёт визуального ваяния прошивки...ограничения есть или нет?
Sayman,я на форуме новичок,не знаю как в личку писать,позтому в тему...Если в схемо технике не силен,то и не надо загоняться с графикой.проще описанием!Про СИ это круто сказано,все гораздо проще!!!!Надо представить входные и выходные сигналы.и что с ними происходит в схеме!Вообще весь код в VHDL начинается так:
entity zx128e is
port(
после скобочки(см. в прикрепл. файле) описываешь входные и выходные(реальные ноги у ПЛИССИНЫ),если вход то это in std_logic,если выход то это out std_logic,а если двунаправленная шина(или одиночный сигнал) то inout std_logic_vector(7 downto 0).
Одиночный сигнал-это std_logic,а набор(шина),ну типа шины данных-это std_logic_vector(7 downto 0).ТО что в скобках -это размер(количество однотипных сигналов в шине! в качестве примера во вложенном файле начало моего клона:)
Нет!Но придется,если чего нет в примитивах,самому попариться
ну даж не знаю...визуально кажется проще..я не думаю что то что в примере это так просто...я уверен что всё намного сложнее...
щас глянем на opencores.org я там видел примерчик..он релаьно на СИ пахож был в vhdl...
Шапка в проэкте типа
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
это стандарт,на первых порах не бери в голову!Для 90% проэктов подходит всем!!!
Добавлено через 58 секунд
Давай мыло,книги скину,там есть и как графически можно!
Добавлено через 3 минуты
А фраза
entity zx128e is
port(
попросту означает,что у плисины есть следующие ноги,которые являются тем-то!
меня больше смутила фраза begin в конце..как будто типа "щас папрёт самый код"....))
ну даж не знаю...визуально кажется проще..я не думаю что то что в примере это так просто...я уверен что всё намного сложнее...
щас глянем на opencores.org я там видел примерчик..он релаьно на СИ пахож был в vhdl...
То что на С похоже называется Verilog
Saymanкниги отправил.А слово begin после описания ног Плисины означает,что начинаем переходить к описанию того что внутри под пластмаской!:) и как это работает.А перед этим в разделе architecture(architecture zx128e_arch of zx128e is)описываются сигналы(названия и разрядность_это грубо),что внутри под пластмассой!
Добавлено через 8 минут
А еще ,зайди http://www.zxdesign.info/schematics.shtml ,у него вся ULA в графике!
Добавлено через 16 минут
меня больше смутила фраза begin в конце..как будто типа "щас папрёт самый код"....))
Да,после begin должен код попереть,просто в качестве примера,что бы мозги не забивать начало тока показал!Если интересует,скину дальше.
Sayman, проще всего начать изучать Verilog (С-подобный язык). Можно лепить и в схематическом отображении. Например, чтобы "засунуть" в альтеру микросхему 1533ЛА3 (74ALS00) нужно в графическом редакторе Квартуса разместить элемент 7400. И тому подобное. Но в графическом вводе есть свои нюансы, например не так уж просто подключить какую-нибудь "микросхему" к двунаправленной ноге альтеры. Для этого нужно знать содержимое этой "микросхемы" или добавлять вентили с Z-состоянием. Для ног типа вход или выход трудностей никаких нет. Всталяешь элементы input или output и подключаешь к ним "микросхему" просто линиями.
В графическом редакторе лучше небольшие схемы рисовать, вот как например в моем SMUC'е http://zx.pk.ru/attachment.php?attachmentid=10075&d=1230485571
В графическом редакторе лучше небольшие схемы рисовать, вот как например в моем SMUC'е http://zx.pk.ru/attachment.php?attachmentid=10075&d=1230485571
В графическом редакторе лучше вообще не рисовать, ето ахтунг и прошлый век :v2_conf2:.
А если и использовать токо чтобы перенести старые уже готовые схемы набраные логикой.
какая принципиальная разница между МАХ3000 и МАХ7000 ?
я сравнивал EPM3128A и EPM7128S, пока тока нашел разницу в частоте, ну и количестве доступных пинов (зависит от корпуса), тот и тот работает с 5В логикой, а разница в стоимости у нас тут в "лавке" в два раза (:-0) EPM3128A(TPQF144)+EPM3128A(TPQF144)=EPM7128S(PLCC8 4)
какая принципиальная разница между МАХ3000 и МАХ7000 ?
я сравнивал EPM3128A и EPM7128S, пока тока нашел разницу в частоте, ну и количестве доступных пинов (зависит от корпуса), тот и тот работает с 5В логикой, а разница в стоимости у нас тут в "лавке" в два раза (:-0) EPM3128A(TPQF144)+EPM3128A(TPQF144)=EPM7128S(PLCC8 4)
Разница:1 Цена;2 у 3128 кол-во пользовательских выводов(реальных) 96!;3.Питание,хотя есть устаревшие 3128 и с5 вольтовым;;4Корпус ,шаг 0,5 мм(у 3128),это главные,мелкие не в счет!
Для интересующихся кодированием на VHDL нарисовал маленький туториал-пример,что бы показать ,что если разобраться ,то и это не страшно!!!
Разница:1 Цена;2 у 3128 кол-во пользовательских выводов(реальных) 96!;3.Питание,хотя есть устаревшие 3128 и с5 вольтовым;;4Корпус ,шаг 0,5 мм(у 3128),это главные,мелкие не в счет!
1: стоимость EPM3128A(TPQF144) = менее 10 у.е.
стоимость EPM7128S(PLCC84) = 20 у.е.
2: у 3128 кол-во пользовательских выводов действительно больше чем у EPM7128S(PLCC84), но я пологаю, что из-за корпуса
3: питание хоть и 3.3В но с ТЛЛ 5В дружит
4: корпус TPQF можно сказать "одноразовый", без должного опыта не отпояешь, тут удобнее PLCC.
из этого итог: чем они, 3128-ые, "хуже" 7128-ых, что так дешевле?
из этого итог: чем они, 3128-ые, "хуже" 7128-ых, что так дешевле?
Они не хуже!а лучше,хотя бы по частотам,а дешевле потому как технология лучше,менее затратная.Конечно плохо,что нет корпусов под панели типа PLCC...
Кстати ,Альтера уже не рекомендует 7000 серию для новых разработок..
CPLD в топку... Перезапись всего 100 раз , вместительность никакая (при дикой цене).
FPGA в PLCC рулят :D Если нет в PLCC , то надобно проеобресть аналогичную платку-переходник (или утюгом накатать) - http://chip-dip.ru/library/DOC000226084.jpg
В любом случае FPGA лучше чем CPLD , особенно для начинающих .
нарисовал маленький туториал
с одной стороны вроде всё просто...но сдругой, мне не совсем понятна логика. вот ты написал код, сгенерил схему...а дальше что.. это всё сохранить в виде файлла и кидать в плисину?! и потом. ты описываеш сигналы...фактически ты просто символьно указал, что вот сигнал iorq, а плисина я уверен никогда не знала о том что это за сигнал...или это указывается по типу, с этой ноги пришло значит сигнал такой то.. так? задавать ноги можно произвольно?!
Добавлено через 5 минут
и кстате что лучше, альтера или xilinx??
В любом случае FPGA лучше чем CPLD , особенно для начинающих .
Спору НЕТ!!FPGA рулит!Но вопрос как закодить Эти Альтеры!Для данной темы неважно,что лучше CPLD или FPGA,тем более код один и "лезет" без переработок и туда и сюда,главное что бы по размерчику подошло.Самое главное-НАУЧИТЬСЯ кодить и не бояться ни АЛЬТЕРЫ ни КСИЛИКСЫ там всякие!:)
Добавлено через 10 минут
фактически ты просто символьно указал, что вот сигнал iorq, а плисина я уверен никогда не знала о том что это за сигнал...или это указывается по типу, с этой ноги пришло значит сигнал такой то.. так? задавать ноги можно произвольно?!
Совершенно верно!Плисине всеРАВНО как обозвать сигналы,более того по ногам(пинам ) можно их раскидывать произвольно,за исключением некоторых жестко заданных!Это лучше делать потом,прои разработке печати!Если не указавать какие ноги каким сигналам соответствуют,то компилятор(фиттер)раскидыв ает их как он считает надо для оптимальной планировки,что не всегда хорошо по печати.
Название сигналов-это для разработчика,что бы не запутаться,кто есть что.ведь если обзoвешь IORQ буквой F,через день будешь долго вспоминать что бы это значило!В идеале ЛОГИКА работы->в НАЗВАНИЕ сигнала.
Добавлено через 12 минут
В Воронеже Альтеру можно достать,Атмел бесполезно вооще,иКсилинкс тоже искал,не нашел.Т.е они примерно одинаковы,стоимость отличается,короче зависит от "доставаемости"
Добавлено через 13 минут
Да и про Альтеру инфы вроде как больше
Добавлено через 15 минут
а дальше что.. это всё сохранить в виде файлла и кидать в плисину?
Тоже верно!Байтбластером-М!прямо из Квартуса.
Добавлено через 22 минуты
Если нет в PLCC , то надобно проеобресть аналогичную платку-переходник (или утюгом накатать) - http://chip-dip.ru/library/DOC000226084.jpg
По моему у этих плат шаг 0,8 мм,а у TQPF альтеровских 0,5 мм?Если я ошибся,буду очень рад,парюсь с переходной платой!Не получается пока..
Но вопрос как закодить Эти Альтеры!
Проще всего пройти встроенный туториал . Для схемного ввода сойдёт (но в некоторых "детальках" есть жудкие баги , схемку желательно симулить по мере продвижения ).
Для данной темы неважно,что лучше CPLD или FPGA
Ничё себе... Не важно... Почти штука рэ за 100 попыток %) Почти за те же бабки можно купить ALTERA Cyclone2 EP2C8Q208C8N ALT QFP208 8256 экв.вент. ( http://www.terraelectronica.ru/ ).
По моему у этих плат шаг 0,8 мм,а у TQPF альтеровских 0,5 мм?Если я ошибся,буду очень рад,парюсь с переходной платой!Не получается пока..
Конкретно эта платка 0,5 ( http://chip-dip.ru/catalog/show/1219.aspx?page=0 ). Какой шаг у конкретной матрицы нужно уточнять в мануалах .
про FPGA читал и поражен до глубины души!!!! практически неограниченные попытки что либо соорудить, а как высказывались тут на форуме - обьем просто резиновый! но меня интересовал такой вопрос - как соорудить минимальный комплект в виде такой вот платки переходника для работы как http://chip-dip.ru/catalog/show/1219.aspx?page=0 но с конфигурационной микрухой, которая сама все бы делала. каждый раз все заливать - геморно всетаки.
может тут сообразим как соорудить такой вот микродэвборд для начинающих, польза б была просто огромная, да и примеры, уроки, которые тут появляются, приобретут реальный аспект. посмотрел, что знающие люди написали, запустил у себя - заработало. дальше покапался сам, посмотрел что и где на что влияет - как ни как минимальное осознание содеянного в плюс к знанием пойдет.
у самого куча идей, а вот возможности попробывать их нету, заводской девборд покупать - накладно, хобби всетаки, а с такой вот чудо платкой было бы проще. :)
Black_Cat
23.01.2009, 00:25
меня интересовал такой вопрос - как соорудить минимальный комплект в виде такой вот платки переходника для работысмотри проект "Aeon" (бывший Neo)
так там появлялись чисто фотки, а конкретной схемы невидел. или я что то пропустил?:v2_conf2:
Black_Cat
23.01.2009, 00:49
а ты на сайт ходил? http://www.speccyland.net
в конце концов свяжись с автором
Конкретно эта платка 0,5 ( http://chip-dip.ru/catalog/show/1219.aspx?page=0 )
Спасибо!Это оно,то самое!
Вот тут полезная инфо: http://www.altera.ru/cgi-bin/go?1
Рекомендую этот дев-борд тем более Камиль (caro) cделал кучу проектов для него - смотрите поиском:
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=39&No=83
Вот тут полезная инфо: http://www.altera.ru/cgi-bin/go?1
Рекомендую этот дев-борд тем более Камиль (caro) cделал кучу проектов для него - смотрите поиском:
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=39&No=83
А в России кто торгует этими "Altera DE1 Board", может на работе выпрошу :)
=ANDROID=
24.01.2009, 09:37
Вот тут полезная инфо: http://www.altera.ru/cgi-bin/go?1
Вот глянул по ссылке - маловато....
Там вначале темы проскакивали фразы о книжках по программируемой логике... ток чет-никто линками так и не разжился... Кому там на мыло высылали? Поделитесь пожалуйста с народом, выложьте уж где-нить, а ссылку в студию!
Там вначале темы проскакивали фразы о книжках по программируемой логике... ток чет-никто линками так и не разжился... Кому там на мыло высылали? Поделитесь пожалуйста с народом, выложьте уж где-нить, а ссылку в студию!
Хорошо!Постараюсь выложить куда-нибудь,только попозже немного,упакованные в zip кодо-то на болванку скинул,найти надо!:)
Добавлено через 1 час 44 минуты
Поделитесь пожалуйста с народом, выложьте уж где-нить, а ссылку в студию!
Пожалуйста!
---------------
8_ucos_Altera_Glossary.pdf
Размер: 735.67 кб
Доступен до: 2009-02-23 17:13:15(для всех книг)
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198524
------------
Bibilo-VHDL.djvu
Размер: 12.36 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198525
------------
McGraw.Hill.VHDL.Programming.by.Example.4th.Ed.pdf
Размер: 2.30 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198526
------------
VHDL-Handbook.pdf
Размер: 2.11 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198527
-------------
Антонов А.П. Язык описания цифровых устройств AlteraHDL. Практический курс.djvu
Размер: 2.21 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198528
------------------
Зотов В.Ю. Проектирование цифровых устройств на основе ПЛИС фириы XILINX в САПР WEBPACK ISE.djvu
Размер: 6.39 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198529
------------------
ПЛИС_Altera_-_MAX+PLUS_II_и_Quartus_II.djvu
Размер: 13.16 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198530
------------------
Rus_tutor.pdf
Размер: 359.92 кб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198532
------------------
Сергиенко A.M. VHDL для проектирования вычислительных устройств.djvu
Размер: 1.15 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198534
------------------
Стешенко В.Б.ПЛИС фирмы Altera.Проектирование устройств обработки сигналов.2000.djvu
Размер: 3.47 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10198535
и ещё:
lbm1_19.pdf
Размер: 409.02 кб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10199002
Файлы не закачаны:
http://25janvary.ifolder.ru/10198533
http://25janvary.ifolder.ru/10198536
Схожая тема с книгами по ПЛИС: http://zx.pk.ru/showthread.php?t=6559
Перезалил:
--------------
Проектирование на ПЛИС. Курс молодого бойца (Максфилд)(2007).djvu
Размер: 5.13 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10200485
--------------
Суворова Е.А. Шейнин Ю.Е. Проектирование цифровых систем на VHDL.djvu
Размер: 6.75 Мб
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10200522
--------------
Для понимающих аглицкий,неплохой интерактивный учебник_справочник по VHDL.Прога фришная,скачивал давно,не помню, привязана к компу!Дело в том,что сначала регистрируешся у них на сайте и через пару дней они ссылку прислали на скачивание,поставил сразу и не помню.Удобно под "рукой держать ,когда(по началу)кодить начинаешь :
------------------
eXsultationVascoVHDL1.1setup.zip
Размер: 8.96 Мб
Доступен до: 2009-02-23 19:34:28
Ссылка для скачивания файла: http://25janvary.ifolder.ru/10200587
Добавлю статейку в pdf на тему конфигурационных ПЗУ для FPGA.
Мелькнула идиотская мысль,а может создать тему,что то вроде
ZX128 на Альтера?Это просто!
или как создать свой клон
где можно показать всем желающим познать ПЛИС ,азы работы с ними?и предназначенной в основном для начинающих.
Вопрос,будет ли это интересно уважаемому форуму,стоит ли вообще заморачиваться и выносить в отдельную тему.На черновик первой части( см. во вложении ) потратил времени в 5 раз больше,чем на написание кода на весь клон:),есть ли в этом смысл?
где можно показать всем желающим познать PLISS ,азы работы с ними?
Первым постом желательно написать что PLISS это русская абревиатура
уважаемые одмины и/или модеры. зокрепите эту тему гденить повыше плиз...
Закрепляю, поскольку считаю эту тему важной. Долой HDL-безграмотность среди пролетариата! :)
alost, из тебя замечательный учитель получается! Сегодня сидел на работе и расковыривал твой первый тутор по mmc. Всё просто и понятно. Спасибо! Продолжай в том же духе!
З.Ы. Сегодня оплатил счет от "Элитан"а, где Cyclone I стоит 16 руб. а EPM7128 - 16.50 :)
Как придет от них хоть какая-то информация сообщу.
Закрепляю, поскольку считаю эту тему важной. Долой HDL-безграмотность среди пролетариата! :)
alost, из тебя замечательный учитель получается! Сегодня сидел на работе и расковыривал твой первый тутор по mmc. Всё просто и понятно. Спасибо! Продолжай в том же духе!
З.Ы. Сегодня оплатил счет от "Элитан"а, где Cyclone I стоит 16 руб. а EPM7128 - 16.50 :)
Как придет от них хоть какая-то информация сообщу.
За фиксацию темы спасибо. А на счет Элитана это зря.
Они сегодня пофиксили цены. И выписанные счета тоже пофиксили.
Смотри статус и цены своего "нового" счета.
Black_Cat
26.01.2009, 23:32
Смотри статус и цены своего "нового" счета.обломс :(
Retrograd
27.01.2009, 09:58
Вопрос,будет ли это интересно уважаемому форуму,стоит ли вообще заморачиваться и выносить в отдельную тему.На черновик первой части(еще не оконченный см. во вложении для ознакомления и принятия решения) потратил времени в 5 раз больше,чем на написание кода на весь клон:),есть ли в этом смысл?
ЗдОрово! Очень хочется продолжения статьи.
Спасибо всем!:)
Обновил вложение в "сообщении №39" этой темы!Это уже законченная часть.Для желающих в формате PDF (легче читается) :ссылка для скачивания файла: http://25janvary.ifolder.ru/10246228 (доступен до: 2009-02-26 12:10:14).Просто не знаю,как разместить такой большой файл на ФОРУМЕ...:(
Анонс следующей части:Подключаем ROM и YM2149.
zxpk.untergrund.net
Добавлено через 15 секунд
До 16 метров...
Retrograd
27.01.2009, 13:30
А как в верилоге сказать:
else if (clock'event and clock='0') then ?
так else if ((clock)== 0) begin ?
А как в верилоге сказать:
always @ (negedge clock)
begin
if (!clock)
....
end
Retrograd
27.01.2009, 13:40
always @ (negedge clock)
begin
if (!clock)
....
end
а разве так нельзя?
always @(posedge clock, res)
begin
if (res==0) begin
del<=00;
end
else if ((clock)==0) begin
del<=del+1;
end
end
ведь:
process(clock,res) - реагируем на событие
begin
if res='0' then
del <= "00";
elsif (clock'event and clock='0') then
del <= del + 1;
end if;
end process;
always @(posedge clock, res)
у тебя внутри always логика будет синхронна положительному перепаду clock
и событие ((clock)==0) не наступит
Retrograd
27.01.2009, 13:48
у тебя внутри always логика будет синхронна положительному перепаду clock
и событие ((clock)==0) не наступит
Ясно, в таком случае есть ли аналог :
process (clock, res), т.е. что бы реакция была на любой фронт сигналок клок и рес.
А внутри модуля уже делать проверку. Или так не получится?
А внутри модуля уже делать проверку. Или так не получится?
Ну зачем же, если все красиво в рамках синхронной логики решаемо...
Темболее асихронные машины состояния это теория на практике из за рисков выливается в один большой шумный глюк
process(clock,res) - реагируем на событие
begin
if res='0' then
del <= "00";
elsif (clock'event and clock='0') then
del <= del + 1;
end if;
end process;
always @ (negedge clock or negedge res)
if (!res)
del = 2'b00
else
del = del + 1
К тому же синтезаторы больше приучены к сихронным вещам, по крайней мере лучше оптимизируют
Black_Cat
27.01.2009, 15:42
господа подскажите на вскидку сколько по максимуму ног можно задействовать под собственные нужды в EPM7032..44 без спец программатора?
господа подскажите на вскидку сколько по максимуму ног можно задействовать под собственные нужды в EPM7032..4
36!
44 без спец программатора?
Не понятно...Программатор,он в принципе один,байтбластер...
balu_dark
27.01.2009, 17:11
он имел ввиду что кроме питания и земли - в некоторых чипах джитаг пины нельзя юзать как пользовательские.
Black_Cat
27.01.2009, 17:47
36!
Не понятно...Программатор,он в принципе один,байтбластер...наскольк о понимаю, с байтбластером невозможно заюзать под свои нужды жтаг интерфейс, отсюда и вопрос
насколько понимаю, с байтбластером невозможно заюзать под свои нужды жтаг интерфейс, отсюда и вопрос
Можно, по окончании загрузки и самосброса альтеры жтаг станет недоступен.
Добавлено через 6 минут
Оффтоп, но классный тотализатор получается :)
Я уже сообщал о том, что "Элитан" тут раздает подарки :v2_clap2:
В понедельник они цены пофиксили.
В выходные я отправил туды три заказа под разными номерами.
И один успел оплатить. Сегодня получаю письма из Элитана, типа, простите, но заказы 11494 и 11488 не оплачивайте, пожалуйста :v2_laugh:
Про оплаченный третий заказ 11527 ни слова. Зато на сайте магазина в "своих заказах" наблюдаю такое:
Информация о заказе:
Номер заказа: 11527Z Дата заказа: 24-01-2009 23:38
Получена оплата: 562.53 руб. Дата оплаты: 27-01-2009 16:26
Состояние заказа:Готовится к отгрузке Дата обновления: 27-01-2009 16:27
Ваш менеджер: Васильев Василий Викторович т.(3412) 503330 доб.109 vv@elitan.ru
Наименование товара Артикул Цена (рубли) Количество Сумма (рубли) Плановая
дата
отгрузки
ATMEGA32-16PU@ATMEL 3.72 8 29.76 03-02-2009
EP1C3T100C8N@ALTERA 14.70 2 29.40 03-02-2009
EP1C3T100I7N@ALTERA 22.70 2 45.40 03-02-2009
EPCS16SI8N@ALTERA 14.50 2 29.00 03-02-2009
EPM3064ALC44-10@ALTERA 4.29 8 34.32 03-02-2009
EPM3128ATC100-10N@ALTERA 5.93 5 29.65 03-02-2009
EPM3256ATC144-7N@ALTERA 16.00 2 32.00 03-02-2009
EPM7128SLC84-15N@ALTERA 16.50 2 33.00 03-02-2009
Доставка 300.00
Итого 562.53
Итак, кто проголосует за то, что халява прокатит? :)
Сегодня получаю письма из Элитана, типа, простите, но заказы 11494 и 11488 не оплачивайте, пожалуйста
:v2_lol: :v2_lol: :v2_lol:
Про оплаченный третий заказ 11527 ни слова. Зато на сайте магазина в "своих заказах" наблюдаю такое:
Надо было девборды заказывать :v2_lol: :v2_lol: :v2_lol:
Black_Cat
27.01.2009, 20:00
Можно, по окончании загрузки и самосброса альтеры жтаг станет недоступен.как помню, Микке чтоб жтаг задействовать в ПЛИС смука пришлось на программаторе её шить.. а меня интересует сколько ног можно задействовать без программатора..
Сообщение от ewgeny7 Посмотреть сообщение
Можно, по окончании загрузки и самосброса альтеры жтаг станет недоступен.
как помню, Микке чтоб жтаг задействовать в ПЛИС смука пришлось на программаторе её шить.. а меня интересует сколько ног можно задействовать без программатора..
Смотри во вложении в разделе Notes
Считай:
28 I/O общего назначения
4 Global/Input (можно юзать как обычные, но только на ВХОД)
4 JTAG/I/O
Вот и всё для 7000 44пин.
Добавлено через 4 минуты
Микке чтоб жтаг задействовать в ПЛИС смука пришлось на программаторе её шить
JTAG ports are available in MAX7000S only (Altera datasheet). Микка кувыркался с какимито МАХ7000 просто, вроде бы.
Добавлено через 23 минуты
Как нужно создавать проект в квактусе чтобы заработал симулятор?
А то получаю "No simulation input file..."
Как нужно создавать проект в квактусе чтобы заработал симулятор?
А то получаю "No simulation input file..."
Стандартный способ.File>New Pr. Wiz.>(тока перед этим лучше создать где-нить папочку с именем проекта и чтобы название было как в vhd файле) появится окно мастера,где надо выбрать раб.директорию(это как раз эта папочка),имя этого файла и имя проекта появится автоматически с именем рабочей папки и кликаем далее.в следюокне Мастер предложит присоединить к проекту design file,если есть ,что,выбираем откуда и ADD или ДАЛЕЕ ,если нет.В принципе можно остановиться и
нажать ФИНИШ.В итоге должно открыться окно проекта с design file(если присоединил) или пустое окно,если нет.Вы уже в созданном проекте!
Далее если design file нет,то File>New>окно выбора типа файла,выбираем vhd>OK.
Раскрывается файл с расширением vhd и с дурацким именем>Save as...!Уверен,что появится окно с предложением о сохранении с именем вашего проекта!
При первой Симуляции он будет орать No simulation input file.Вариант 1.
Когда он заругался,внизу окна жмем OPEN>вываливается окнос расширением .vwf и дур.именем,также сохраняем его как имя проекта!
Добавлено через 8 минут
Жмем СТАРТ(предварительно проверив,стоитли выборка автоприсоединения пинов!Пины и сигналы,если надо,присоединяем,удаляем, ликнув в поле с именем NAME
А кликнув по пину,назначаем уму разные характеристики,ну типа частоты,начального уровня и т.д.
внизу окна жмем OPEN>
Какого окна? там никаких новых окон не открывается, только мессадж поверх всего.
Вариант второй,в меню "MAX+PLUS11!(это слева от File) выбираем Вэйвформ Редактор,далее аналогично ,переименоввываем и присоединяем.
Добавлено через 6 минут
После компиляции проекта,если все ОК и квактус кроме предупреждений не выдал,жмем на значок Симулятора!Вываливается окно СИМУЛЯТОР ТУЛ с настройками!Внизу окна 2 кнопки: START и OPEN !такое было?
Добавлено через 8 минут
Сделай все заново,как в сообщении 63!Меньше путаницы потом будет!
Тэкс, окно открыл вручную через меню, файл создал. На экране почему-то присутствуют только пины OUT, ищу как в симулятор вытащить IN...
Black_Cat
27.01.2009, 23:22
Считай:
28 I/O общего назначения
4 Global/Input (можно юзать как обычные, но только на ВХОД)
4 JTAG/I/Oт.е. если 8 ног на питание, и 4 на жтаг, то 32 максимум и при этом ПЛИС ещё можно будет перешивать байтбластером без спец программатора?
т.е. если 8 ног на питание, и 4 на жтаг, то 32 максимум и при этом ПЛИС ещё можно будет перешивать байтбластером без спец программатора
Йес :)
Добавил в сообщение №39 вторую часть в формате doc.в архиве также полный проект(1+2 часть).и немного описал работу в Квартусе с симулятором.
В формате PDF :http://zxpk.untergrund.net/downloads.php?id=307 ,а как сделать что бы ссылка покороче была ,типа ЧАСТЬ2 ?
alost, спасибо еще раз!
С симулятором вчера разобрался.
Ковыряясь с VHDL набрел на непонятки в реализации двунаправленного обмена через пины. Чтоб компилятор не ругался на "совместное руление" несколькими источниками.
Чтоб компилятор не ругался на "совместное руление" несколькими источниками.
Встречался с таким ругательством:mad:Это возможно в 2 случаях: при компиляции,выдается ошибка и он останавливается ,и когда компилятор все пропускает,а вот фиттер,а потом и симулятор выдает предупреждение что не может подключить "такие-то" сигналы.Напиши поконкретнее,а лучше напиши процессы.Как минимум это два процесса.В общем случае такие конфликты удается развести организацией мультеплексирования конфликтующих сигналов и сведения их в один процесс.
С глюками сам разобрался (вроде бы).
Выкладываю на всеобщее "обчихивание" свой первый проект на VHDL.
Сие произведение называется СМУК-2. Он уже реально сделан и успешно работает на моем Скорпионе (а скоро будет не только на моем, есть народ также собирающий его). Правда, прошивка сделана целиком на схемном вводе.
Теперь пришла пора попробовать его на HDL :v2_finge: :v2_rolley
Все нюансы программы я писал на основе туториала alost'a (плюс свои извращения). Очень не нравится мне код в районе регистра версий (process H), слишком громоздко. Да и вообще всё наверное корявенько :)
Приму любые рекомендации.
В реале прошивку проверю только в понедельник, ибо комп со СМУКом на работе.
Quartus II (6.0) подойдёт для дел всех этих?
Black_Cat
30.01.2009, 07:00
Сие произведение называется СМУК-2пусть будет лучше хоть SMUC+ , а то на 2 как-то не тянет.. новшеств в нём собсно и нет почти.. практически рестайлинг, поэтому предлагаю оставить двойку для будущих инкарнаций рассчитанных на более существенные изменения :)
..кстати, а чё здесь, а не в топике про смук прошивки выкладывать?
у меня вылетело два "внимания"
Warning: Found pins functioning as undefined clocks and/or memory enables
Info: Assuming node "clock" is an undefined clock
и
Warning: Found 10 node(s) in clock paths which may be acting as ripple and/or gated clocks -- node(s) analyzed as buffer(s) resulting in clock skew
Info: Detected gated clock "vsync~0" as buffer
Info: Detected ripple clock "vcnt[3]" as buffer
Info: Detected ripple clock "vcnt[5]" as buffer
Info: Detected gated clock "vsync~33" as buffer
Info: Detected ripple clock "vcnt[7]" as buffer
Info: Detected ripple clock "vcnt[4]" as buffer
Info: Detected ripple clock "vcnt[6]" as buffer
Info: Detected ripple clock "hsync" as buffer
Info: Detected ripple clock "vcnt[8]" as buffer
Info: Detected ripple clock "del[1]" as buffer
чё за баян?!
это я создал проэкт, назвал его, создал vhdl файл, обозвал так же как и проэкт, создал wave чего то там, сохранил с именем прожекта...
сделал старт синтезис, старт фиттер...а потом симуляцию и оп...вот таких два мессежда...
и кстате, не совсем понял как и где схему смотреть...
Очень не нравится мне код в районе регистра версий (process H), слишком громоздко.
В процеесе Н конфликт,это тот случай когда компилятор пропускает,а симулятор предупреждает :"трата-та ..."db3" holds its previous value in every path with no new value assignment, which may create a combinational loop in the current design."
Можно так ,и упростить чуть:
1 вариант,в пор. упрощения:
H: process(csm,a2,a13,a15,rd)
begin
if (csm='1') and (a15='0') and (a13='0') and (rd='0') then
case a2 is --оператор ВЫБОРА!
when '0' => db3 <='0';
db5 <='1';
db6 <='0';
db7 <='0';
when '1' => db3 <='0';
db5 <='0';
db6 <='0';
db7 <='0';
end case;
else db3 <='Z'; --Иначе относится к условию IF
db5 <='Z';
db6 <='Z';
db7 <='Z';
end if;
end process;
2 вар.:
H: process(csm,a2,a13,a15,rd,a2)
variable sel:std_logic_vector(4 downto 0);
begin
sel:=csm & a15 & a13 & rd & a2 ;
case sel is --оператор ВЫБОРА!
when "10000" => db3 <='0';
db5 <='1';
db6 <='0';
db7 <='0';
when "10001" => db3 <='0';
db5 <='0';
db6 <='0';
db7 <='0';
when others => db3 <='Z';
db5 <='Z';
db6 <='Z';
db7 <='Z';
end case;
end process;
и это не предел!вар.2 можно свести к 10 строкам,если сигналы DB организовать как вектор.Проще потом манипулировать!db4 переименовать в db3,а db3>db4.и создать db: inout std_logic_vector(7 downto 4); Четыре строки сразу становятся одной!
Добавлено через 11 минут
у меня вылетело два "внимания"
На такого типа warnung симулятора пока не обращай внимание,это не критические!!!:)Вот что он написал,дословно:Предупреж дение: Найденны 10 узлов в путях тактового генератора, которые могут действовать как рябь и/или пропущенные такты т.е.возможно,а может и нет(это он предупреждает,но симулюцию делает)!
как буфер (а), приводящий к расфазировке тактовых сигнало
а вот такого типа:
Warning: VHDL Process Statement warning at SMUC.vhd(52): signal or variable "db3" may not be assigned a new value in every possible path through the Process Statement. Signal or
variable "db3" holds its previous value in every path with no new value assignment, which may create a combinational loop in the current design. это плохо!
Добавлено через 12 минут
Quartus II (6.0) подойдёт для дел всех этих?
Пойдет!
Добавлено через 13 минут
Я вообще юзаю 5-ю версию!А картинки тока в полной версии,в web RTL вьювера нет!!!:mad:
web RTL вьювера нет!!!
У меня квактус 8.1 web. А мою RTL-ку вы видели. Ищите и обрящите! :)
Можно так ,и упростить чуть:
Спасибо! буду разгребать!
ПыСы: ждёмс третью часть туториала :)
пусть будет лучше хоть SMUC+
Можно и так. Или, как я уже пару раз называл его - SMUC RT (РеТрэкинг :) )
..кстати, а чё здесь, а не в топике про смук прошивки выкладывать?
Дык это и не прошивка, а "домашнее задание" сдаю учителю... :)
Еще вариант:
H: process(csm,a2,a13,a15,rd)
begin
if (csm='1') and (a15='0') and (a13='0') and (rd='0') then
db3<='0';db6<='0';db7<='0'; --эти всегда в '0' при условии IF!
case a2 is --оператор ВЫБОРА,т.е выбор след.строки определяютя состоянием a2!
when '0' => db5 <='1';
when '1' => db5 <='0';
end case;
else db3 <='Z'; --Иначе , при невыполнении условия IF(всё в Z!
db5 <='Z';
db6 <='Z';
db7 <='Z';
end if;
end process; --можно тоже на 3 строки сократить!
Добавлено через 3 минуты
У меня квактус 8.1 web. А мою RTL-ку вы видели. Ищите и обрящите!
Класс!А Technology Map Viewer есть в Web 8.1?
Добавлено через 6 минут
сдаю учителю...
Да я сам тока "учюсь",а "туториал"-это типа дневника сумасшедшего,пособие как с нуля познать высокую технологию!:confused:
Класс!А Technology Map Viewer есть в Web 8.1?
Это? :v2_finge:
у меня полная версия квартуса, версия которая указана выше... 6.0.
плюс ещё какие то сервис паки, мегакоре какой то pci четого там...
так всётакки, как перейти в режим просмотра полученой схемы и как можно попробовать порисовать схему, а не на языке...хочется и так попробовать тоже...
как можно попробовать порисовать схему
New -> Block Diagram/Schematik File
Появится окно "в дрипочку". Даблклик мыши по любому месту внутри окна, вывалится "выберите элемент". Вводишь что-то подобное 7400 или что там тебе нужно.
Пины на выход - output, на вход - input. Логич. "0" - gnd, логич. "1" - vcc.
Вот тебе для "затравки" исходник в схематике того SMUCa, с которым я сейчас ковыряюсь в VHDL.
Исходник полностью работоспособный. :v2_wink2:
Кстати, сейчас обратил внимание, что в схематике прошивка получается компактней. Откомпилировал схематик - занято 81% EPM3032. А в VHDL - 88%.
Я думал что будет наоборот :)
Я думал что будет наоборот
Assignments >
1. Setting > Device >Divise & Pin Options>Unused Pins > As inputs,tri-state
2. Setting >Analisss & Sinthesis setting >Optimization Technique =Area
откомпилируй и посмотри... и +"ручная" оптимизация...
Добавлено через 4 минуты
Это?
Да! показывает,как по блокам и ячейкам раскидывает,можно потом в ручную поменять.Но,муторно!
откомпилируй и посмотри...
Опробовал на другом проекте. Там по умолчанию было 38 из 128.
Переключил unused pins на input. Результат 38/128. Переключил optimization на area - 43/128 :v2_eek:
Ну ладно, вручную лезть уже не буду... :v2_conf2:
Приму любые рекомендации.
Принцип и работу SMUC вообще не знаю,если что не то скажу,извините(это от невежества)...Я по коду.Что за сигнал fdc?Судя по схеме должен быть регистром,а по коду просто сигнал,связь,которая идет в никуда и берется ниоткуда,тюе. привыводе в пины db вроде как из воздуха!а вот если "обвесить" как регистр,то приобретает смысл!В этом случае имеет смысл объединить процессы Н и J,и одновременно отделить часть,вот так:
H: process(csm,a2,a13,a15,rd,fdc)
begin
if (csm='1') and (a15='0') and (rd='0') then
if a13='0' then
db3<='0';db6<='0';db7<='0';
case a2 is
when '0' => db5 <='1';
when '1' => db5 <='0';
end case;
else if a2='0' then
db3<=fdc(0);
db5 <='Z';
db6<=fdc(1);
db7<=fdc(2);
else db3 <='Z';
db5 <='Z';
db6 <='Z';
db7 <='Z';
end if;
end if;
else db3 <='Z';
db5 <='Z';
db6 <='Z';
db7 <='Z';
end if;
end process;
----------------------------------------
J: process(csm,a2,a13,a15,wr)
begin
if (wr'event and wr='1') and (csm='1') and (a15='0') and a13='1' and(a2='0') then
fdc(0)<=db3;
fdc(1)<=db6;
fdc(2)<=db7;
end if;
end process;
В этом случае СИМУЛ.вооще не орет и ни одного предупреждения,хотел визуально показать вложенность условий,чушь какая-то получилась:mad:
Верно, fdc - это трехразрядный регистр, запись по wr чтение по rd.
Изменяю прошивку, завтра проверю и отчитаюсь.
И убери тогда ещё ненужный сигнал fd.А то что говорил что СИМ. не орет,так это применительно именно к этим двум процессам,просто весь код не стал набивать.А что отрывками пишу,так это сеть что-то глючит,отключается...
Мне кажется или должно быть так?
H: process(csm,a2,a13,a15,rd,fdc)
begin
if (csm='1') and (a15='0') and (rd='0') then
if a13='0' then
db3<='0';db6<='0';db7<='0';
case a2 is
when '0' => db5 <='1';
when '1' => db5 <='0';
end case;
else if (a2='0') and (a13='1') then
db3<=fdc(0);
db5 <='Z';
db6<=fdc(1);
db7<=fdc(2);
Добавлено через 57 секунд
И убери тогда ещё ненужный сигнал fd.
Убрал, разумеется :)
Мне кажется или должно быть так?
Нет!else if a2='0' then
db3<=fdc(0);
db5 <='Z';
db6<=fdc(1);
db7<=fdc(2);
относится к условию когда А13=1,а ошибка у меня есть,щас увидел!Надо в первом условии убрать and a13='0' т.е.так
if (csm='1') and (a15='0') and (rd='0') then !!! В посте #86 исправил!
Надо в первом условии убрать and a13='0' т.е.так
if (csm='1') and (a15='0') and (rd='0') then
Дык я так и написал.
Хорошо, прошил альтерку, завтра увижу результат. Спасибо!
else if (a2='0') and (a13='1') then
условия and (a13='1') не надо,!
Учёл :)
Один фиг, не работает. Сажает шину, компьютер не стартует. Думаю.
ewgeny7 запость файлик схему и файлик кода, посматреть что у тебя получилось... или кинь на мыло/личку...
Вот пост, где лежит исходник в схематике (рабочий!):
http://www.zx.pk.ru/showpost.php?p=180645&postcount=82
А это код на VHDL (нерабочий, сажает ШД).
Глюк нашелся. Объявлен пин dir, но функция испарилась кудато...
Добавлено:
dir<=rd or rtc;
При нулевом потенциале dir АП6 гонит данные из ПЛИС на ШД. Отсюда и "зависание" ШД.
... в графическом вводе есть свои нюансы, например не так уж просто подключить какую-нибудь "микросхему" к двунаправленной ноге альтеры. Для этого нужно знать содержимое этой "микросхемы" или добавлять вентили с Z-состоянием. Для ног типа вход или выход трудностей никаких нет. Всталяешь элементы input или output и подключаешь к ним "микросхему" просто линиями...
Вот тут я думаю надо бы целую ТЕМУ ОТКРЫТЬ, о том как подрубать всякие PLD (TTL,LVTTL) к старым добрым К155 К555 К1533 К561 К580... Потому как способов вроди как дофига но есть много ньюансов, начиная с того как их запитать с платы стандартного спекки (на которой обычно пульсирующие дико +5в 600ма после самопального тор-а и КРЕН5). Кто может довольно обстоятельно описать этот вопрос? А иначе все это "програмирование" так и останется на бумаге. Я смотрю даже признанные гуру спекки строения склонны использовать старые и дорогие CPLD изза того что они 5v tolerant, а между тем на разборке можно купить за копейки плату с дюженной всяких PLD LVTTL чипов для экспериментов скажем над своим домашним ленинградом-1.
условия and (a13='1') не надо,!
У меня вопросы по симулятору возникли:
1. Не могу поменять сетку (у меня 10 нс), а нужно 62,5 нс и более;
2. Наблюдается не совпадение фронта и среза сигналов clock и f1/f2;
3. Предел экрана ставится только 1000 нс, не больше и не дает увеличивать...
Буду признателен за разъяснения, вот картинка.
2. Наблюдается не совпадение фронта и среза сигналов clock и f1/f2;
Некоторое смещение должно быть, симулятор учитывает задержки сигналов в кристалле.
Выставить необходимые времянки для симуляции у меня также не получается :(
Стоит по умолчанию 100нс и фиг это поменяешь... У меня 8.1 web.
1. Не могу поменять сетку (у меня 10 нс), а нужно 62,5 нс и более;
Открsть файл *.vwf >EDIT > GRID SIZE > вписань нужный time period!
3. Предел экрана ставится только 1000 нс, не больше и не дает увеличивать...
Открsть файл *.vwf >EDIT > END TIME > вписать время окончания симуляции(например 15 ms).Это общее время симуляции.А конкретно поменьше после выбора общего,можно указать в окне Simulator Tool,поставив точку в End simulation at..
2. Наблюдается не совпадение фронта и среза сигналов clock и f1/f
В окне Simulator Tool есть выбор режима Simulation mode.Режим TIMING позволяет увидеть "реальное "взаимодействие сигналов внутри ПЛИС со всеми задержками распространения и переключения сигналов,как в "жизни",учитывается также и "дельта задержка".Режим FUNCTIONAL показывает идеальный сигнал,без учета задержек.Этот режим целесообразно использовать на начальном этапе разработки,т.к. можно проверить работу устройства "вчерне",правильность взаимодействия!А уже потом переключить на TIMING и уже четко увидеть как реально и "куда вылезают" эти наносекунды задержек!Иногда приходится менять код или по другому организовывать взаимодействие!
Теперь нет обновления состояния после удаления/добавления входных/выходных сигналов (нет перерисовки). И какой тип сигнала назначать зависимым выходным сигналам Don't care (DC) или другие? Входной частоте я назначил Overwrire clock с частотой 8 МГц - правильно? А сброс как переназначать со временем, а то он у меня всегда равен 1 (Forcing High)?
Печально... Вообще не один выходной сигнал не отображается. Что я не так делаю?
Ручками добавлять ?
"Ручками" добавляю, убираю одни, добавляю другие - бестолку. Только могу задать входную частоту и входа с неизменяемыми уровнями (1/0). Что только не делал - и параметры симуляции менял и интервалы, и заново перкомпелировал весь проект - ну нет изменения выходных, вычисляемых и тех же делимых от входной частоты сигналов...:v2_scare:
Вообще не один выходной сигнал не отображается. Что я не так делаю?
Попробуй так:
После компиляции идешь Processing->Simulator tool.
Вываливается окошко. Внизу окна жмешь Open. Вываливается окно симулятора.
Правый клик мышкой на поле где написано Name (под ним еще пины располагаются).
В контексте кликаешь Insert node. В новом окошке - Node finder. В ещё новее окошке - List. Далее всё интуитивно понятно :)
Попробуй так:
После компиляции идешь Processing->Simulator tool.
Вываливается окошко. Внизу окна жмешь Open. Вываливается окно симулятора.
Правый клик мышкой на поле где написано Name (под ним еще пины располагаются).
В контексте кликаешь Insert node. В новом окошке - Node finder. В ещё новее окошке - List. Далее всё интуитивно понятно :)
Блин все дико сложно! Свяжитесь по skype+yugma расшарьте этот desktop и посмотрите что там у человека, заодно его научите где кликать. 20 минут дела.
Попробуй так:
После компиляции идешь Processing->Simulator tool.
Вываливается окошко. Внизу окна жмешь Open. Вываливается окно симулятора.
Правый клик мышкой на поле где написано Name (под ним еще пины располагаются).
В контексте кликаешь Insert node. В новом окошке - Node finder. В ещё новее окошке - List. Далее всё интуитивно понятно :)
Проблема не в добавлении сигналов, а в отказе симулятора показывать изменения произшедшие после перекомпиляции проекта. Страно, но тот же проект прекрасно симулируется на MAX+PLUSII, который я вчера поставил на работе. Там в проекте даже не нужно выводить отдельные пины (ну, напрмер выводы счетчиков-делителей входной частоты). Я выводил отдельный разряды от счетчиков и все работает. Может проблема в Quartuse, у меня так называемая "студенческая лицензия". Например, анализатор на большинство ПЛИС не работает.
Проблема не в добавлении сигналов, а в отказе симулятора показывать изменения произшедшие после перекомпиляции проекта.
Так бы сразу и написал, короче это бага у некоторых Quartus (WEB и Free помоему ток, каким то боком баг имеет отношение к инкриментальной компиляции помноженую на баги лицензирования)
в общем закрываеш Quartus удалаеш папку DB (в каталоге проекта) вместе с потрахами
и наслаждаешся. А лучше забей и для симуляции юзай Active-HDL
Добавлено через 2 минуты
Можно как то с TCL консоли еще лечить...
Страно, принес проект с MAX+PLUSII'а, подставил Quartus'у, откомпилировал, запустил симулятор и все заработало! Надолго ли? Такие просветления у проги уже были. Попробую при следующем глюке папку DB удалить. А пока вот результаты.
alost, ну где же ты? С третьей частью тутора.
П.С. Закончил возиться с вариантом СМУКа на VHDL. Всё работает! Долго искал косяк мешающий жить, оказалось что сигнал IORGE был сделан неправильно, состояния "1" или "0".
А нужно было "1" или "Z". Выложил исходник в "СМУК на дискретах".
круть непомерная. народ тут почти асами стал по плисам..а тем временем, тема уже отклеилась и потеряла статус важной(((( жаль...можт модеры поправят?
Скотч оказался кетайский. Переклеваю :)
Прошу принять извинения за задержку с 3 частью ,кризис заел :mad:
Добавил 3-ю часть в посте №39.Продолжение следует!В следующей части :о страницах RAM и прозрачном доступе.:)
Добавлено через 8 минут
В PDF формате http://zxpk.untergrund.net/downloads.php?id=330
balu_dark
17.02.2009, 02:39
народ! а можно 39 пост приклеить вверху топика? чтобы не искать его постоянно?
Изменил pdf, а то схема в нем не смотрелась и объем меньше стал...:)
Хорошоб еще все три части рядком положить... а то топик пухленький, лопатить долго
Хорошоб еще все три части рядком положить... а то топик пухленький, лопатить долго
Уже сделано. Первый пост содержит ссылки. Пока немного, но добавлю.
ewgeny7 ну ты извратить первый пост :eek_std: :biggrin:
fifan, я сегодня столкнулся с точно такой же проблемой симулятора. Выходные сигналы никак не желают изменяться. Проект в железе (Altera DE1) работает, а в симуляторе ни в какую. Quartus II 8.1 WEB. Удаление папки DB не помогает. Решение еще не найдено?
Tim0xA, Лог компилятора и симулятора от квартуса выложить можеш?
fifan, я сегодня столкнулся с точно такой же проблемой симулятора. Выходные сигналы никак не желают изменяться. Проект в железе (Altera DE1) работает, а в симуляторе ни в какую. Quartus II 8.1 WEB. Удаление папки DB не помогает. Решение еще не найдено?
Симулировал в Max'е. Там очень все не плохо выходит. Quartus хорошо сжимает и минимизирует проект. Так что в одном пишу, в другом смотрю (симулирую).:v2_confu:
Tim0xA, Лог компилятора и симулятора от квартуса выложить можеш?
Только что вроде бы разобрался, в чем было дело. Я ждал результатов в окне "Vector Waveform File", а оказалось, что результирующие диаграммы нужно смотреть в "Simulator Report -> Simulation Waveforms". А чтобы эти диаграммы попали в окно "Vector Waveform File" нужно установить опцию "Qverwrite simulation input file with simulation results" в окне "Simulator Tool".
установить опцию "Qverwrite simulation input file with simulation results" в окне "Simulator Tool".
Она вроде по умолчанию установлена?
Есть глюк когда с этой галкой новые изменения не видно, даже когда сигналы вручную добалять, это про удаление DB.
Она вроде по умолчанию установлена?
Она каждый раз переспрашивает (8,1 web). И глюков описанных вроде не замечено.
Купил сегодня для экспериментов первый циклон - EP1C3T100C8N.
Расчитывал на 15 долларов, оказалось - всего 5. :)
КонфигПЗУ к нему обошлась в 4$.
Такой вот неожиданный подарочек. На складе этих чипов валяется более 300штук...
Вот на чем надо ваять новые схемы! Дешево и достаточно "резиново" (2900 Logic Elements). Если Z80 ставить "снаружи", то в альтеру залезет очень многое.
balu_dark
03.03.2009, 19:39
я за 15 взял EP1C12 если не ошибаюсь Q208 и вроде 5нс
пзуха обошлась в 5$ тоесть практически аналогично.
но если честно - проще такой чип конфигурить внешним контроллером. сыкономим бакса 3( тоесть выбросив 5 долларовое пзу покупаем контроллер бакса за 2 на который еще можно повесить работу с карточкой памяти да и прикрутить клаву PS2 )
а где брал?
адресок не подскажешь?
я за 15 взял EP1C12 если не ошибаюсь Q208 и вроде 5нс
Эээ...это где же такое валяется? :v2_eek:
У дилера С6 самая дешевая - 22$, С12 - от 49$. Имею ввиду для кузова Q240, ибо Q208 небывает... http://www.altera.ru/cgi-bin/go?8
Эээ...это где же такое валяется? :v2_eek:
У дилера С6 самая дешевая - 22$, С12 - от 49$.Ты лучше скажи, где взял EP1C3 за 5$.
Этот чип тоже не меньше 10$ стоит.
Неужели ЭФО распродает свой склад?
Ты лучше скажи, где взял EP1C3 за 5$.
Угадал, в ЭФО. Кстати, в твоем городе вроде тоже есть офис?
Я в самом деле читал в прайсе склада 15$, но позвонив им выяснил что оно стоит 5$. О чем и сообщал в пред. посте.
balu_dark
03.03.2009, 22:28
судя по ценам тут http://www.biakom.com/t/17105/
и считая что бакс равен 8 нашим тугрикам получается 50$
в свете последнего - либо у меня чтото со склерозом либо второй вариант - брал чипы по 15 но не в этой конторе. при втором варианте тогда хоть убейте не помню где. сейчас проверю ебэй на предмет наличия этих чипов.
по поводу корпса-действительно 240 ног - некогда было глядеть. чип EP1C12Q240C8N
Угадал, в ЭФО. Кстати, в твоем городе вроде тоже есть офис?
Я в самом деле читал в прайсе склада 15$, но позвонив им выяснил что оно стоит 5$. О чем и сообщал в пред. посте.Офис есть, завтра обязательно позвоню и узнаю текущую цену на EP1C3, EP1C6, EP1C12 и EP1C20.
Может и по другим позициям такие скидки.
balu_dark
03.03.2009, 22:31
Ebay пуст.
блин тогда я умолкаю и погружаюсь в раздумья - а не напутал ли я чего :(
завтра обязательно позвоню
Аналогично.
Заодно интересно узнать цены на DE1. Ходили слухи, что цена упала ниже 100$.
Получил сегодня Циклоны. Не удержался, сфотографировал.
Рядом с чипами и ПЗУ к ним видны копыта Z80 :)
balu_dark
04.03.2009, 23:59
не те - ли чипы на которые ты развел несчасненький и бедненький электронный магазин? ;)
если те - то шара таки есть :) !
брррр или ты пару дней их просто заказал а получил только сегодня?
Получил сегодня Циклоны
блин, такой шаг ног я ниасилю запаять (((((((((
блин, такой шаг ног я ниасилю запаять (((((((((
Я тоже боялся. Оказалось - легко!
Приложил к макетке TQFP (предварительно смазав её глицерин-гидразином) и обычным паяльником 25 ватт пробежался тычками по ножкам. Вся процедура заняла около двух минут :)
не те - ли чипы на которые ты развел несчасненький и бедненький электронный магазин?
Не, с теми история ещё не закончилась.
Они каждый день перерисывают дату отгрузки. И напрямую не отказать - я все их условия выполнил, и отправлять западло :)
Жду пока пройдет два месяца и устрою НАЕЗД. Потом отчитаюсь о проделанной работе :)
Допаял макетку с циклоном. Всё заработало. Теперь сижу в Квартусе играюсь с подопытным :)
Всплыло несколько вопросов для ЗНАЮЩИХ:
Как указать компилятору что данный пин является клоком? (чтоб дурацких варнингов не давал).
Каким образом работать с интегрированной RAM циклона? Как её "обозначить" в программе?
Если я конфигурирую альтеру через JTAG, то каким образом лучше заливать программу в конфигПЗУ (AS)? Ставить отдельный разъем или есть способ "заливки" через альтеру?
В заключение - на фото макетка с обратной стороны, с минимальным количеством проводов, только чтобы циклон "затарахтел".
В правом нижнем углу видно мегаустройство на шести ножках. Инженеров альтеры хватил бы инфаркт от такой простоты :v2_laugh:
Кто догадается что это такое? :v2_rolley
Каким образом работать с интегрированной RAM циклона? Как её "обозначить" в программе?
Если создавать память в циклоне с помощью megafunctions\storage
то квартус эти внутренние блоки и использует.
Если я конфигурирую альтеру через JTAG, то каким образом лучше заливать программу в конфигПЗУ (AS)? Ставить отдельный разъем или есть способ "заливки" через альтеру?
Разъем лучше один - по JTAG можно все цепочкой соединить.
Если создавать память в циклоне с помощью megafunctions\storage
то квартус эти внутренние блоки и использует.
Во, спасибо!
Разъем лучше один - по JTAG можно все цепочкой соединить.
Как это выглядит схемно? У меня JTAG подведен к альтере, далее по принципу AS подключается ПЗУшка EPCS1. Каким образом она прикручивается к JTAG?
Добавлено через 8 минут
стаб на 3.3?
Ты чо? Это DC/DC преобразователь 5.0->3.3->1.5в на четырех диодах :)
на фото макетка
Где сей макетк был приоретен ?
Где сей макетк был приоретен ?
Прислал Spensor (2$).
Про макетку спросило уже с десяток человек. Похоже, пора Владу почтовым бизнесом заняться :)
Добавлено через 3 часа 43 минуты
Ещё важный вопросик.
Имеет несколько файликов, входящих в один проект. У каждого модуля в разделе
port() обозначены вводы/выводы.
При сборке проекта ВСЕ эти пины нафик ненужны, нужно лишь связать модули друг с другом посредством этих сигналов (а не занимать реальные пины ввода/вывода).
Для примера - модуль Т80. Все 63 обозначенных в нем пинов наружу выводить вообще не нужно (пока, по крайней мере). Все сигналы будут использоваться только внутри кристалла. Как решить эту проблему?
По идее TOP должен быть единственным, и именно только его сигналы идут наружу
Во, спасибо!
Как это выглядит схемно? У меня JTAG подведен к альтере, далее по принципу AS подключается ПЗУшка EPCS1. Каким образом она прикручивается к JTAG?
http://www.altera.com/literature/hb/cyc2/cyc2_cii5v1.pdf
там 374 страница, кажется оно.
там 374 страница, кажется оно.
Спасибо, но там вроде не JTAG-подключение к альтере...
а ктонить всё таки пробовал именно рисовать схемы? в квартусе я так и не понял как рисовать линии между элементами...т.е. типа дорожки. вставил я какой-то элемент и нужно проделать дорогу от него к другому (с однойноги на другую)...сматрю, а в квартусе штук 5 линий...какие для чего не понял...
а ктонить всё таки пробовал именно рисовать схемы?vlad свои схемы рисует.
Посмотри вот здесь:
http://www.zx.pk.ru/showpost.php?p=187602&postcount=48
в квартусе я так и не понял как рисовать линии между элементами
Просто подводишь курсор к "ноге" элемента. Курсор изменится на крестик.
Нажимаешь и удерживая левую кнопу мыши тянешь линию к другой ноге.
Можно рисовать изогнутые под прямым углом линии.
Можно нарисовав кусок линии продолжить рисование позже с ее окончания.
Иногда проще просто куски проводов одинаково назвать , чем городить адский пучёк :D
Иногда проще просто куски проводов одинаково назвать , чем городить адский пучёк
Можно и шину нарисовать.
А можно вообще линии не рисовать, а просто присвоить сигналам имена. Тогда вообще городить линии не требуется.
Дык не нарисовав шнурки , имена им не присвоиш (по скриншёту они как раз есть). А шину в баню , всёравно по назвениям шнурков приходится ареинтироваться .
MegaMyth
12.03.2009, 18:36
блин, такой шаг ног я ниасилю запаять (((((((((
Под такой шаг ног я платки тока так уже научился делать... 4ре АСЕХ'а 144пина уже на платах торчат :-) пока вроде не отвалилсь...
P.S. а вот кодю до сих пор в AHDL, но спасибо автору тутов128, след проект попробую сделать в VHDL, если время поджимать не будет.
Под такой шаг ног я платки тока так уже научился делать...
Ага, вполне реально.
skyther, не мог бы выложить файлик для принта? Я как раз спер с работы картридж для лазерника, хотел в выходные поЛУТить маленько...
П.С. Старая просьба еще в силе? Покупать?
Да, все в силе.
Перед тем как травить, проверь не намудрил ли я с шагом...
Black_Cat
14.03.2009, 19:47
skyther, ты бы лучше разъём переделал с зигзага на линейный, и отверстия сделал побольше, тоды в твою платку можно будет впаять игольчатый разъём и втыкать в ответную часть на плате компьютера. А если подумать ещё более глобально, то неплохо бы чтоб этот переходник можно было воткнуть один в один в отверстия PGA вместо 7128, тоды народ бы массово начал апгрейдить Пенты 2.2 и Спекки2007, а тебе был бы большой респект
skyther, ты какую ширину дорожек/просветов ставил?
Я попробовал 0,3/0,2.
Black_Cat, а вот разведи платку, ага?
Коллеги! Объясните пожалуйста попоясдеревянному мне как запользовать корку Т80. :v2_conf2:
Как ни бился, симулятор выдает одну и туже картину маслом - адресные сигналы Т80 кудато отваливаются в периоды активных /RD (на скриншоте - ram_oe). И что с этим безобразием делать? :v2_cry:
PS никаких управляемых буферов нет, сигналы идут напрямую.
Мож ты не тот TOP заюзал
к примеру с TV80 идет 2 штуки
Мож ты не тот TOP заюзал
к примеру с TV80 идет 2 штуки
Спасибо за внимание, это я сам козёл. Про сигнал reset забыл нафик, оставил в неопред. состоянии.
Всё заработало.
TV80 я не трогал, ибо там в рекламке пишется что он на Veriloge слеплен.
Поэтому я использовал синхронный T80s (в паке есть ещё и асинхронный Т80а).
В общем, мой проект движется, атчоты в "ОРИОН-реализация на ПЛИС".
Новая затыка - как сконвертить дамп ПЗУ (.rom) в файл VHDL?
Маленький дампик я вручную перенес, но с большим - требуется "автоматизация".
В сети я почему-то готовых решений не увидел :(
Подскажите чайнику, плиииииззз!
Новая затыка - как сконвертить дамп ПЗУ (.rom) в файл VHDL?
Маленький дампик я вручную перенес, но с большим - требуется "автоматизация".
В сети я почему-то готовых решений не увидел :(
Подскажите чайнику, плиииииззз!
Я пользовался утилитами что во вложении.
Но симуляция работает быстрее и внутренние блоки памяти используются если ром создавать через мегафункции квартуса.
MegaMyth
19.03.2009, 19:32
skyther, ты какую ширину дорожек/просветов ставил?
Я попробовал 0,3/0,2.
Я хоть и не skyther, но тем не менее советую делать 0.25/0.25 (0.2/0.3) т.к. тонер может растекаеться и в итоге получишь либо идеальные 0.25/0.25 либо те же 0.3/0.2. и естественно не забываем площадки у мсх делать поужее.
P.S. растекание зависит от плотости бумаги и от корявости утюга/рук. Я использую старые тоненькие страницы журнала "Компьютерра" за 90е годы (очень символично на мой взгляд). И старый бабушкин софковый утюг :-D. Со второго раза как правило всё чётко получается. Результаты 0.25/0.25.
Хочу поделиться радостью:v2_cool: наконец то получилось сваять платку под EP1C6T144C8N :v2_yahoo: с шагом ног 0.5мм. даа... пришлось покарпеть, осталось тока исправить перетрав четырех дорожек и запаять все до конца.
MegaMyth
22.03.2009, 21:42
Надо было землю развести хотябы :-) перемычек меньше бы пришлось паять :-))) И CuPour'ку воткнуть, штоп помех меньше было.
Я обычно на таких макетках еще и VccINT & VccIO развожу (второй стороной VIA под мсх...) и соответственно на разъём меньше контактов идёт. и проводники разрежаются (меньше вероятность КЗ).
Правда мсх потом корявенько ложится, но это лечится прижиманием выводов к плате.
А в целом для первого раза очень даже хорошо. У меня в 1й раз хуже было (я про плату :-D ).
а что есть "CuPour" интересно?
а так, вторым этажем хочу сваять конфПЗУ, питание и под байбластер контактики. Эт у меня мини-мини дэвбоард буит, а так еще EPM 3128 на 144 ноги ждут своей очереди :biggrin:
MegaMyth
23.03.2009, 06:43
а что есть "CuPour" интересно?
а так, вторым этажем хочу сваять конфПЗУ, питание и под байбластер контактики. Эт у меня мини-мини дэвбоард буит, а так еще EPM 3128 на 144 ноги ждут своей очереди :biggrin:
КуПурка - простой полигон, соединенный с некоторым нетом. я его кладу под мсх.
конфПЗУ???? да вы батенька мажор!!!! Посмотри как сделана загрузка в NeoGS кажется называется. Там стоит EPM*064 которая обеспечивает первоначальный запуск Z80, который в свою очередь грузит ACEX по JTAG. Но по Passive Serial грузится проще. По крайней мере я так делал. А про JTag можешь спросить у LVDS(прошу прощения если неправильно вспомнил имя разработчика ГыСы).
конфПЗУ???? да вы батенька мажор!!!!
68 руб. 15 коп. Ничего страшного.
MegaMyth
24.03.2009, 06:57
Ах, да... я не посмотрел, что ты(Вы) из Питера... у нас в славно городе полу-герое Ижевске, EPC1441PC8 стоит 188 ру. А Других и нет :-(
forester
24.03.2009, 12:27
Новая затыка - как сконвертить дамп ПЗУ (.rom) в файл VHDL?
Маленький дампик я вручную перенес, но с большим - требуется "автоматизация".
Поскольку предпочитаю генерить rom и ram мегафункциями, то для их инициализации использую mif-файлы. Программа для генерации во вложении. Т.к. она писалась на коленке за пару минут, просьба не пинать сильно. Ширина мифа - 8 бит, глубина - размер бин файла(образа пзу).
Программа для генерации во вложении.
Спасибо! :)
Только я уже в Дельфях накатал несложную программульку. Сконверчивает .rom в текстовик с данными типа "10011010","01111001", и так далее. Дальше просто вставил этот текст в шаблон VHDL и поправил разрядность адресов.
molodcov_alex
28.03.2009, 16:47
Народ, не поделитесь схемой БайтБластера "на 5ти проводах" (или скольки там)? А то стодвадцативосьмизация Speccy2007 вышла на стадию сборки опытного образца, а мелкосхем для ББ подходящих не найти (в смысле дома).
Заранее спасибо!
З.Ы. Прошивать, я так понимаю, можно прямо из Квартуса?
сильно не уверен, что такое есть, этож не быдло-контроллер ;)
molodcov_alex
28.03.2009, 17:15
Ну, вроде как fan про такое говорил.
Ща пороюсь , хотя на форуме должно быть (хэзэ в какойй теме). Проверял на CPLD и FPGA (есесно пятивольтовые).
Добавлено через 17 минут
Старый сайт типо сдох... Вот живой линк -
http://opencollector.org/history/freecore/Build%20your%20own%20ByteBlaster!.htm
(в самом низу).
Насколько помню квактус имеет в списке всего два LPT програмёра BB MV & BB 2 . Но первый блястер то же как то сам определился %) (Вроде сначала BB 2 выбрал , но как начал шить определился как первый). Если не прокактит то просто по схеме BB 2 аналогично накрути провода на штекере LPT .
molodcov_alex
29.03.2009, 13:25
В общем вариант с проводками не проехал... Сегодня собрал на двух 74ALS573, все определилось и прошилось на ура! :v2_yahoo:
Всмыссле не проехал ? Не определился ? Или шил с ошибками ?
Если фигово шил то нужен экранированный шнур (у меня чуть меньше метра) , либо коротенькие провода ~на десяток сантиметров .
Если не определился значит провода идущие с LPT штекера обратно на штекер не правильно приделаны (речь о BB 2 / BB MV конфиге). Определяться он должен полюбому .
molodcov_alex
29.03.2009, 14:20
Не определялось вообще, писало какую-то хрень. Конечно это не исключает ошибок в сборке, хотя вроде как там негде ошибаться.
(речь о BB 2 / BB MV конфиге)
Насколько помню, в самодельных бластерах разница между MV и 2 была в перемычке на LPT. Не скажете навскидку, какая ставится для 2? (для MV- 7-10)
Ща пороюсь .
Добавлено через 10 минут
MV 7 - 10 & 15 - VCC
ВВ2 6 - 10 & 15 - GND
ВВ1 7 - 10 & 15 - GND
Добавлено через 12 минут
Оптимально конечно как ВВ2 конфигурить , но кажись его макс не понимает (он вроде только первый и MV понимает).
Ща пороюсь .
Во, спасиб большой! Была у меня схема ББ2 да запропастилась куда-то, а инет не кажет.
Что-то давно alost не появлялся...
Приходится вместо мануалов по VHDL читать Мусанифа :)
Нужно реализовать внутри EPM3032 такой кусок схемы:
11545
Даташыт говорит что такое сделать возможно:
11546
А как? Ставил в квартусе BIDIR pin и подключал к нему ALT_OUTBUF_TRI квартус говорит что такой буфер не поддерживается в MAX3000...
Black_Cat
10.04.2009, 15:48
попробуй ОК, а буфер замени на ИЛИ
ALT_OUTBUF_TRI квартус говорит что такой буфер не поддерживается в MAX3000...
Ставь обычный TRI.
Приспичило мне тут срочно собрать ByteBlaster 2.
Долго рылся в интернете, пока не наткнулся на ссылку на альтеровскую доку со схемой. Собрать это в железе много ума покупать не потребуется. :v2_smoke:
Дабы другие долго не рылись, выложу это здесь.
Для поиска: Altera LPT Byte Blaster ByteBlaster Программатор Схема
Дабы другие не рылись нада было тегов написать
...
Тогда другие смогут поиском найти
Вот бы ещё генератор названий файлов в посте , а то поиском приаттаченные файлы ни хэ не ищутся :\
Ставь обычный TRI.
Спасибо, помогло!
Правильно ли я понимаю, что БайтБластером нельзя прошить CPLD от Xilinx? Что для него надо собирать очень похожую (http://www.xilinx.com/itp/3_1i/data/common/jtg/dppb/appb.htm) схему?
Программа (http://download.xilinx.com/direct/webpack/33wp81/webpack_9500_prog.exe) для прошивки
Alex_NEMO
12.04.2009, 00:00
Правильно ли я понимаю, что БайтБластером нельзя прошить CPLD от Xilinx? Что для него надо собирать очень похожую (http://www.xilinx.com/itp/3_1i/data/common/jtg/dppb/appb.htm) схему?
Попробуй сравнить какие ноги LPT через буфера "дергают" какими пинами в разьеме программирования. Если в итоге совпадает, несмотря на разные названия сигналов, по идее, все ОК! Еще учитывать надо, что "перемычки" на LPT даже у разных версий BB разные. По ним, как я знаю, софт детектит что за кабель. Вроде, с использованием AVREAL можно BB шить AVRки. На счет остального - не знаю! Давно мысля бродит собрать что-нить типа "универсального ISP/JTAG-кабеля" на EPM3032, что бы и AVК STK200/300 и Altera ByteBlaster и Xilinx JTAG как манимум в одном флаконе иметь! Куча платок/коробок и хвостиков в самом деле напрягают! Есть пара вариантов, но в одном код надо править или заново писать, а во втором ПЛИСка для меня труднодоставаемая стоит. Если кому интересно, могу поискать/закинуть.
Сравнивал, половина ног LPT используется по другому.
а во втором ПЛИСка для меня труднодоставаемая стоит.
А вот про это можно по подробнее.
Alex_NEMO
12.04.2009, 13:11
Сравнивал, половина ног LPT используется по другому.
А вот про это можно по подробнее.
Стоит Альтеровская EP900LC - я такой и в природе-то не встречал! По идее, можно переделать под EPM3032/64 или EPM7032/64.
Ещё одна старая статейка "Универсальный кабель для внутрисхемного программирования" (http://www.platan.ru/shem/pdf/12_p56-59.pdf).
Во вложении "Universal JTAG Adaptor" из Электора, доп материалы на их сайте (http://www.elektor.com/magazines/2007/may/universal-jtag-adaptor.91541.lynkx)
Спасибо за файлы, я сначала хотел USBBlaster (http://njnmnp.narod.ru/usbblaster/usbblaster.html) собирать.
А EP900 - я так понял это массочная ПЛМ:
IC1 = EP900LC (programmed, order code 060287-41
Alex_NEMO
12.04.2009, 16:55
Спасибо за файлы, я сначала хотел USBBlaster (http://njnmnp.narod.ru/usbblaster/usbblaster.html) собирать.
А EP900 - я так понял это массочная ПЛМ:
Нашел, что это "EPLD 24 Macrocell Device (http://www.datasheet4u.com/html/E/P/9/EP900_Altera.pdf.html)". Похоже, это старая серия PLD(даташит датирован аж 93 годом), причем весьма тормозная(50ns)! Там в статье код на AHDL приведен. Короче, по идее, без проблем под новые MAX7000/MAX3000 серии переделать можно!
Была ещё какая-то "польская" схема, но пока не нашел...
Вот, нашел(см. вложение). Но без исходников, редакция журнала только зашитую продает.
Не попдалась ли кому модель SDRAM чипов ? В частности на Verilog
Итак, наступил на очередные грабли, в top-level-entity используется 30 выводов, в процессе компиляции мне выдают сообщение что использованы все 34 вывода. Почему? Из-за недостатка ресурсов матрицы соединений? Все рисовал схемным вводом, EPM3032ALC44...
molodcov_alex
12.04.2009, 22:02
30 + 4 на JTAG?
30 + 4 на JTAG?
Да, EPM3032 имеет 26 I/O, 4 only I и 4 JTAG (которые также могут быть I/O).
Итого "чистыми" можно использовать только 30.
Торкнуло тут меня написать туториал по схемному вводу для программирования ПЛИС... Наверное потму, что уже заждался статейки от alost'a :v2_frown:
В общем, вот первая часть. Сильно ногами только не пинайте :)
А вот и вторая...
Вот еще девайс в копилку...
Двухканальный контролер SDRAM, с жесткими таймингами со стороны шины (аля можно работать как с SRAM), и прозрачной регенерацией
Отличительные черты:
- Убивает нафик все преимущества SDRAM
- Со стороны шины выглядит как 2 сихронных однотактных рама
- Регенерации не требует, делается прозрачно
- Частота каналов 7МГц, при частоте SDRAM 112 :), команды фиксируются по положительному перепаду клока шины. При подачи команды чтения по следующему
положительному фронту можо забирать данные.
- В принципе возможно один из каналов сделать что бы он работал с SDRAM пакетами по 2 слова (32 бит)
В вложении проект для квартуса 9, sdr_ctr - сам контролер в DE1_TOP тестовый генератор, цифровой индикатор на DE1 выводит колво ошибок если будут такие найденны
- В одном такте нельзя писать и читать из одной банки (A[21:20] - одинаковые)
Короче теперь я знаю SDRAM редкосная гадость если с ней работают девайсы с простыми неконвеерными шинами
Есть FPGA Flex EPF6016TC144-3. В даташите не нашел группировку его I/O-линий соответствие их входам питания VCCIO. Часть линий ввода-вывода будет работать на 3.3в, а часть на 5в. Соответственно, часть VCCIO надо посадить на 3.3в, а часть на 5в. Только какие куда?..
Кто-нибудь может помочь информацией?
Делить не нада (да и не умеет оно судя по всему, там где есть дележка VCCIO по банкам четко разделены VCCIO0 VCCIO1 и т.д. даж в квартусе)
Судя по http://www.altera.com/literature/an/an107.pdf просто VCCIO питаеш 3.3v
Делить не нада (да и не умеет оно судя по всему, там где есть дележка VCCIO по банкам четко разделены VCCIO0 VCCIO1 и т.д. даж в квартусе)
Судя по http://www.altera.com/literature/an/an107.pdf просто VCCIO питаеш 3.3v
И IO, питаемые от 3.3в будут нормально работать с шиной, на которой TTL 5-вольтовые уровни?
На 3 странице есть таблица. Ну можеш воткнуть последовательно резюков по 47ом.
3.3-V device can drive a 5.0-V device, and in return, can be driven by a
5.0-V device. Additionally, when the
VCCIO
pins on a 5.0-V device are
connected to 3.3 V, the I/O pins can still be driven by 5.0-V signals
because the I/O buffers are still 5.0-V tolerant.
Я через IDC40 на DE1 Z80 и AY8910 подключал. Правда шину данных пришлось подтягивать к +5
На 3 странице есть таблица. Ну можеш воткнуть последовательно резюков по 47ом.
Я через IDC40 на DE1 Z80 и AY8910 подключал. Правда шину данных пришлось подтягивать к +5
Тьфу, точно. Смотрел на эту таблицу и так тормознул. Бывает же такое. Спасибо!
И в вантузе в свойствах пина есть TTL...
Ну, я в любом случае уже приготовил резисторные сборки по 56Ом :)
Я к DE1 подключал "Сегу" через резисторы 330Ом, но чисто в плане эксперимента, не стал рисковать девайсом. Не сегой, конечно :)
Я к DE1 подключал "Сегу" через резисторы 330Ом, но чисто в плане эксперимента
А что за эксперимент, если не секрет? Картридж хотел заэмулировать?
А что за эксперимент, если не секрет? Картридж хотел заэмулировать?
Да. Выбрал игру, по объему подходящую и залил в срам. Для сеги использовал неисправный картридж, высверлив ПЗУ. Примитивно напаял резисторы и IDE-шлейф. Игруха запустилась, на этом эксперимент был окончен :)
molodcov_alex
15.05.2009, 19:51
А как в Verilog можно сигнал подзадержать никто не подскажет? :rolleyes:
А как в Verilog можно сигнал подзадержать никто не подскажет? :rolleyes:
Сдвиговым регистром.
Black_Cat
15.05.2009, 20:22
как в Verilog можно сигнал подзадержатьдля небольших задержек - простым последовательным включением некоторого количества повторителей
molodcov_alex
15.05.2009, 20:38
для небольших задержек - простым последовательным включением некоторого количества повторителей
По какой-то причине не катит (квартус чтоль больно умный)
Black_Cat
15.05.2009, 20:43
типо не задерживает? там суть в том что такая задержка пригодна только для очень коротких интервалов, а количество повторителей может быть больше десятка, так что если ты пожадничал с количеством, то никакого эффекта задержки и не заметишь..
так что если ты пожадничал с количеством,
Не забывайте про оптимизацию, она всё "лишнее" из проекта выкидывает. В VHDL есть функция принудительной задержки "wait for xx ns;", про верилог не знаю...
типо не задерживает? там суть в том что такая задержка пригодна только для очень коротких интервалов, а количество повторителей может быть больше десятка, так что если ты пожадничал с количеством, то никакого эффекта задержки и не заметишь..
Да не будет задержки, по крайней мере нельзя добиться устойчивой. Напишеш в проекте что нить совершенно с другого края, фиттер по другом распихает логику и задержка уплывет.
Так что остается по идее
-сдвиговый регистр
-PLL
-какой нить фазовый детектор
-мож какая мегафункция есть
Добавлено через 2 минуты
А еще на AHDL есть что то, там типа сигнал можно привязать что он не будет соптимизирован.
Alex_NEMO
16.05.2009, 09:59
Пара вопросов с знатокам ПЛИС/ПЛМ:
1. Если схему какого-либо контроллера BDI, с применением РТшек, переводить на EPM3032/64 или EPM7032/64, то как быть с "эмуляцией" РТшки - заменять её на соотв. набор элементарных лог. элементов?
2. Для "мелочи" типа GAL/PALCE 16/20/22 есть ли какая - либо удобная "графическая схемная" среда разработки, как в Altera MAX/Quartus ихний Schematic? Т.е. набросал схемку, компильнул и готова прошивка? Или на уровне таблицы истиности? Загнал таблицу - что на выходах в зависимости от сост. на входах и готово! Или только ABEL/WinCUPL/VHDL изучать?
1. В MAX'е или Qaurtus'е можно как рисовать схему, так и описывать ее на логическом языке. Я начинал с первого.
2. Вышеупомянутые программы не поддерживают GAL'ы. Я расписывал логику на WinCUPL'е. Да и зачем есть семейство 7000S от Alter'ы с 32, 64 и 128 логическими ячейками в корпусах PLCC, которые через переходник/панельку PLCC=>DIP паяются на схему.
Да и вообще пора забывать про РТешки, да и GALки снимают с производства.
1. Если схему какого-либо контроллера BDI, с применением РТшек, переводить на EPM3032/64 или EPM7032/64, то как быть с "эмуляцией" РТшки - заменять её на соотв. набор элементарных лог. элементов?
Функция памяти. Жрет ресурсов много, но для РТ в самый раз. Я как-то пихал в циклон РОМ от Орион-128... На рисованной логике можно, буквально нарисовав демультиплексоры и "матрицу" с выходом на буфер. Но это изврат :)
Добавлено через 8 часов 32 минуты
Заинтересовавшись темой про ПЗУ на альтере, я поковырял маленько мегафункции в МаксПлюсе и нашел полезную весчь - lpm_rom. При компиляции проекта оно подгружает указанный вами хекс в заданный блок памяти альтеры. Получаем симпатичное такое ПЗУ :) Ради интереса хочу попробовать залить прошивку РТ11 контроллера дисковода Скорпиона в самую дешевую и доступную из альтер - EPM3032ALC44.
Alex_NEMO
16.05.2009, 21:47
Заинтересовавшись темой про ПЗУ на альтере, я поковырял маленько мегафункции в МаксПлюсе и нашел полезную весчь - lpm_rom. При компиляции проекта оно подгружает указанный вами хекс в заданный блок памяти альтеры. Получаем симпатичное такое ПЗУ Ради интереса хочу попробовать залить прошивку РТ11 контроллера дисковода Скорпиона в самую дешевую и доступную из альтер - EPM3032ALC44.
ewgeny7, очень интересно! Отпишись, пожалуйста потом о результатах!
Заодно, будет тема для очередного урока! :)
Ну, вот два варианта на VHDL.
Первый проще для понимания, но более громоздкий.
Второй наоборот :)
Это проги для РТ11 ФАПЧ контроллера дисковода Скорпиона.
Alex_NEMO
17.05.2009, 09:01
Ну, вот два варианта на VHDL.
Первый проще для понимания, но более громоздкий.
Второй наоборот :)
Это проги для РТ11 ФАПЧ контроллера дисковода Скорпиона.
Спасибо, Евгений, бум разбираться на досуге!
А такую софтину под ПЛИСки - "Lattice ispLEVER" кто-нить пользовал? Вроде она в схемном виде может с PAL/GAL работать!
Выпаял со старого SCSI-контроллера EPM7096. Если ее выводы программирования используются как ввод-вывод (а на плате они куда-то идут), то можно ли в эту CPLD влить другую конфигурацию?
Сначала нужно попробывать прочитать ее программатором. Но, прошивка наверняка будет засекречена и не прочитается. В этом случае выход один - использовать ее для своих нужд.
Сначала нужно попробывать прочитать ее программатором. Но, прошивка наверняка будет засекречена и не прочитается. В этом случае выход один - использовать ее для своих нужд.
Если ее выводы программирования используются как ввод-вывод (а на плате они куда-то идут), то можно ли в эту CPLD влить другую конфигурацию?
Так можно в нее заливать другую конфигурацию, если ноги, используемые для этого, уже запрограммированы как ввод-вывод?
Если ее выводы программирования используются как ввод-вывод (а на плате они куда-то идут), то можно ли в эту CPLD влить другую конфигурацию?
Можно, но промышленным программатором...
Можно, но промышленным программатором...
Т.е. дома можно и не думать это сделать?
Т.е. дома можно и не думать это сделать?
Думаю, да, т.к. протокол скорее всего закрытый. Но прежде, думаю, нужно посмотреть куда идут дорожки, может где-то есть ISP контакты...
Думаю, да, т.к. протокол скорее всего закрытый. Но прежде, думаю, нужно посмотреть куда идут дорожки, может где-то есть ISP контакты...
Не, во всяком случае, сигналы житага разбегаются по плате в разные стороны...
Есть Altera FLEX EPF6016TC144-3. Смотрел документацию на нее - нигде явно не написано, на какой предельной частоте он может работать. Есть куча временнЫх параметров, но, честно говоря, я в них запутался. Есть график зависимости Icc Supply от частоты (файл dsf6k.pdf, стр.49, взят с altera.com). Как я понял, это значение потребляемого тока в зависимости от частоты. Если это так, то по этому графику при частоте 60МГц этот флекс потребляет более 800мА. У кого есть возможность, подскажите - правильно ли я понял? и как посчитать предельную рабочую частоту? Читал про Циклон2 - вроде как понятно, что до 400МГц, а тут - никак не пойму...
Смотрел документацию на нее - нигде явно не написано, на какой предельной частоте он может работать
А на 3-ей странице не оно ? Там вроде указаны граничные частоты на которых могут работать типовые элементы.
А на 3-ей странице не оно ? Там вроде указаны граничные частоты на которых могут работать типовые элементы.
Слушай, точно... Вот это я тормознул... Смотрел же на эту таблицу... Да, низкие частоты, при работе контроллера SDRAM все будет на пределе... Придется искать другой FPGA...
Вообще-то Quartus во время компиляции дает предупреждение о граничной частоте и времени распространения сигнала от одного из входов до одного из выходов.
При назначении пинов Флекса (в пин-планнере) я в меню выбираю:
Pin number: PIN_1
Node name: RAM_DATA[4]
I/O standart: TTL (default)
Reserved: As output driving VCC
Квартус (9.0) ругается и не хочет компилить:
Error: Can't reserve pin "RAM_DATA[4]" because that name already exists
Error: Can't fit design in device
Error: Quartus II Fitter was unsuccessful. 2 errors, 0 warnings
Error: Peak virtual memory: 155 megabytes
Error: Processing ended: Fri Jul 10 09:37:12 2009
Error: Elapsed time: 00:00:02
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 4 errors, 53 warnings
Стоит очистить поле Reserved, как все компилится. В тексте Верилога сигнал обозначен
output [7:0] RAM_DATA;
Что я делаю не так? Для Циклона 2С20 (на DE1) я в подобных случаях указывал в Reserved: As output driving VCC
и все было нормально...
Какой девайс? В моделях Max от Алтеры на пины 83,84,1,2 можно только назначать сигналы со входной тактовой частотой, выборкой кристалла, сброса девайса и так далее. Можно судить по названию: CLR,CEn, CLR и так далее. В принципе на них биты двухнаправленных шин назначит не удастся (как в твоем случае бит RAM_DATA[4] - чисто выход).
Какой девайс? В моделях Max от Алтеры на пины 83,84,1,2 можно только назначать сигналы со входной тактовой частотой, выборкой кристалла, сброса девайса и так далее. Можно судить по названию: CLR,CEn, CLR и так далее. В принципе на них биты двухнаправленных шин назначит не удастся (как в твоем случае бит RAM_DATA[4] - чисто выход).
Девайс EPF6016TC144-3. Проблема не только на этой ноге - я ее просто привел в пример. К тому же, если брать именно эту ногу, то это обычный I/O, во всяком случае, если верить даташиту :)
Возможно, я зря ломаю голову, но все же хотел бы понять причину. Флекс работает и без указания RESERVED, но я подумал, что лучше указывать для выхода Driving VCC
Возможно, я зря ломаю головуВероятнее всего.
В переводе сообщение выглядит так:
"Не возможно резервировать вывод " RAM_DATA [4] " потому что это имя уже существует."
Тоесть pin уже назначен для сигнала RAM_DATA[4], как же его можно резервировать.
Предполагаю, что это поле предназначено для указания FITTERу, что данный пин зарезервирован, тоесть выводить на него сигналы нельзя.
То что у тебя в проекте для DE1 это поле игнорируется, вероятно зависит от глобальных установок в проекте.
Вероятнее всего.
В переводе сообщение выглядит так:
"Не возможно резервировать вывод " RAM_DATA [4] " потому что это имя уже существует."
Тоесть pin уже назначен для сигнала RAM_DATA[4], как же его можно резервировать.
Предполагаю, что это поле предназначено для указания FITTERу, что данный пин зарезервирован, тоесть выводить на него сигналы нельзя.
То что у тебя в проекте для DE1 это поле игнорируется, вероятно зависит от глобальных установок в проекте.
Да, я видел в Assignment editor-е появляются дубли пинов. Попробую покопаться в настройках проекта - интересно все же...
Reserved не надо указывать для пинов использующихся в проекте. Это указывается только для неиспользуемых.
Вопрос для Caro. Скажите, пожайлуста, подключали ли вы fpga как внешнюю память для AVR? Я взял ATmega128 и к ней подключил CycloneIII как внешнюю память, на данный момент атмегой читается только одна ячейка, больше одной ячейки не читается.
Вопрос для Caro. Скажите, пожайлуста, подключали ли вы fpga как внешнюю память для AVR? Я взял ATmega128 и к ней подключил CycloneIII как внешнюю память, на данный момент атмегой читается только одна ячейка, больше одной ячейки не читается.Что-то мне не приходило в голову использовать блоки памяти FPGA в качестве внешней памяти для микрооконтроллеров.
Встречный вопрос, а по какому интерфейсу подключен AVR к FPGA?
Что-то мне не приходило в голову использовать блоки памяти FPGA в качестве внешней памяти для микрооконтроллеров.
Встречный вопрос, а по какому интерфейсу подключен AVR к FPGA?
FPGA подключена к AVR так же как внешняя ОЗУ, мультиплексированная шина адреса и данных, шина управления.
FPGA подключена к AVR так же как внешняя ОЗУ, мультиплексированная шина адреса и данных, шина управления.Тогда следующий вопрос, а что загружается в FPGA для того, что бы она могла работать как внешняя память?
Тогда следующий вопрос, а что загружается в FPGA для того, что бы она могла работать как внешняя память?
Написана программа. Программа по сигналу ALE демультиплексирует 16-ти разрядный адрес и по сигналам RD и WR либо читает данные от AVR либо пишет данные в AVR
Написана программа. Программа по сигналу ALE демультиплексирует 16-ти разрядный адрес и по сигналам RD и WR либо читает данные от AVR либо пишет данные в AVRНе видя исходника, на первоночально заданный тобой вопрос ответить не возможно.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot