Просмотр полной версии : Требуется помощь по Спеку на Alterе
Была вобщем-то простая как три копейки идейка утрамбовать всю логику Ленинграда-1 в ПЛИС Altera EPM7128. Как наивный чукотский юноша я думал, что забабахаю всё сам, используя схемный ввод Quartusа. Сделал платку под ПЛИСину, платку с 8 РУ7 (для расширения в последующем до 128-256 Кб), проц, ПЗУ есть, собрал всё это на бредборде. Создал проект в Quartusе, решил сначала для проверки собрать синхрогенератор для видеоконтроллера, компильнул это дело, прошил. Стал проверять, сигналы после первого счётчика ИЕ7 (H0-H3) - нормальные - сверял на своём KAY-128. Со вторым уже счётчиком (H4-H7) встал туган - он делит не на 2^n - осцилл не синхронизируется, встал вопрос, как вообще можно осциллом проверить хитрые сигналы? Потыркался пару дней, ничего не придумал, решил проверить синхроимпульсы КСИ и ССИ. Вобщем результат меня вконец убил: кадровый СИ на ПЛИС 13 милисек период и 15 микросекунд длительность (на KAY положеные 20 и 10 соответственно), строчного СИ вообще нет. Меня предупреждали, что схемным вводом только косяки получаются, я не поверил, теперь вот уже месяц не знаю, что делать. Надо писать на HDL, но я не врубаюсь в это дело, не мог бы кто-нибудь из гуру помочь примерчиком на каком-нибудь великом и могучем HDL-языке как хотя бы до КСИ и ССИ доползти? Может кто-нибудь также интересуется данной идеей и будет не против проверки своих HDL-идей на практически готовом железе?
ILoveSpeccy
16.05.2007, 17:44
Я тоже собираю Спек на ПЛИС, только на XILINX XC95144XL, что в принципе тоже самое...
Результатов пока немного, если что-то получится, обязательно напишу...
А пока могу посоветовать VHDL-код от Speccy2007... он тоже для Altera 7128....
Смотри тут http://zx.pk.ru/showthread.php?t=3957&page=17
Была вобщем-то простая как три копейки идейка утрамбовать всю логику Ленинграда-1 в ПЛИС Altera EPM7128. Как наивный чукотский юноша я думал, что забабахаю всё сам, используя схемный ввод Quartusа. Сделал платку под ПЛИСину, платку с 8 РУ7 (для расширения в последующем до 128-256 Кб), проц, ПЗУ есть, собрал всё это на бредборде. Создал проект в Quartusе, решил сначала для проверки собрать синхрогенератор для видеоконтроллера, компильнул это дело, прошил. Стал проверять, сигналы после первого счётчика ИЕ7 (H0-H3) - нормальные - сверял на своём KAY-128. Со вторым уже счётчиком (H4-H7) встал туган - он делит не на 2^n - осцилл не синхронизируется, встал вопрос, как вообще можно осциллом проверить хитрые сигналы? Потыркался пару дней, ничего не придумал, решил проверить синхроимпульсы КСИ и ССИ. Вобщем результат меня вконец убил: кадровый СИ на ПЛИС 13 милисек период и 15 микросекунд длительность (на KAY положеные 20 и 10 соответственно), строчного СИ вообще нет. Меня предупреждали, что схемным вводом только косяки получаются, я не поверил, теперь вот уже месяц не знаю, что делать. Надо писать на HDL, но я не врубаюсь в это дело, не мог бы кто-нибудь из гуру помочь примерчиком на каком-нибудь великом и могучем HDL-языке как хотя бы до КСИ и ССИ доползти? Может кто-нибудь также интересуется данной идеей и будет не против проверки своих HDL-идей на практически готовом железе?
Прежде чем лить в камень, проверь прошивку в симуляторе (в квартусе есть свой встроеный). Тогда увидишь все изменения сигналов. По поводу HDL - у каждого своё предпочтение. Написать видео на HDL намного проще, нежели в схемном вводе. Например (на верилоге)
module videocore(CLK14, nRESET, PIXEL, LINE, nHSYNC, nVSYNC, nHBLANK, nVBLANK, nSWAPBUF);
input CLK14;
input nRESET;
output [8:0] PIXEL;
output [7:0] LINE;
output nHSYNC;
output nVSYNC;
output nHBLANK;
output nVBLANK;
output nSWAPBUF;
reg [8:0] HCNTR;
reg [9:0] VCNTR;
wire [8:0] PIXEL;
wire [7:0] LINE;
wire nSWAPBUF;
reg nHSYNC, nVSYNC, nHBLANK, nVBLANK;
always @(posedge CLK14 or negedge nRESET) begin
if(!nRESET) begin
HCNTR = 9'b0;
nHSYNC = 1;
nHBLANK = 0;
end
else begin
HCNTR = (HCNTR == LINE_END) ? 9'b0 : HCNTR + 1;
nHSYNC = !((HCNTR > HSYNC_START) && (HCNTR < HSYNC_END));
nHBLANK = !(HCNTR > LINE_BLANK);
end
end
always @(posedge nHSYNC or negedge nRESET) begin
if(!nRESET) begin
VCNTR = 8'b0;
nVSYNC = 1;
nVBLANK = 0;
end
else begin
VCNTR = (VCNTR == FRAME_END) ? 10'b0 : VCNTR + 1;
nVSYNC = !((VCNTR > VSYNC_START) && (VCNTR < VSYNC_END));
nVBLANK = !(VCNTR > FRAME_BLANK);
end
end
//assign nVBLANK = !(VCNTR > FRAME_BLANK);
assign nSWAPBUF = !(!nHSYNC && VCNTR[0]);
assign PIXEL = HCNTR;
assign LINE = (!nVBLANK) ? 0 : VCNTR[8:0] >> 1;
endmodule
Это только маленький кусочек (константы опущены), потому как это кусок рабочего проекта.
Схемный ввод не причём , это сам ленинград такой . Про глюки синхро генератора (из-за шибко быстрых мелкосхем) писали в каком то журнале (не помну в каком).
Для начала нужно просимулить всё что касается строчной развёртки , и отдельно всё что касается кадровой (предварительно распилив схему), можно и всё вместе симулить , но будет дольше .
Схемный ввод не причём , это сам ленинград такой . Про глюки синхро генератора (из-за шибко быстрых мелкосхем) писали в каком то журнале (не помну в каком).
Как может применение какого-либо конкретного семейства МС быть глюком?
KingOfEvil
16.05.2007, 21:05
Была вобщем-то простая как три копейки идейка утрамбовать всю логику Ленинграда-1 в ПЛИС Altera EPM7128. Как наивный чукотский юноша я думал, что забабахаю всё сам, используя схемный ввод Quartusа. Сделал платку под ПЛИСину, платку с 8 РУ7 (для расширения в последующем до 128-256 Кб), проц, ПЗУ есть, собрал всё это на бредборде. Создал проект в Quartusе, решил сначала для проверки собрать синхрогенератор для видеоконтроллера, компильнул это дело, прошил. Стал проверять, сигналы после первого счётчика ИЕ7 (H0-H3) - нормальные - сверял на своём KAY-128. Со вторым уже счётчиком (H4-H7) встал туган - он делит не на 2^n - осцилл не синхронизируется, встал вопрос, как вообще можно осциллом проверить хитрые сигналы? Потыркался пару дней, ничего не придумал, решил проверить синхроимпульсы КСИ и ССИ. Вобщем результат меня вконец убил: кадровый СИ на ПЛИС 13 милисек период и 15 микросекунд длительность (на KAY положеные 20 и 10 соответственно), строчного СИ вообще нет. Меня предупреждали, что схемным вводом только косяки получаются, я не поверил, теперь вот уже месяц не знаю, что делать. Надо писать на HDL, но я не врубаюсь в это дело, не мог бы кто-нибудь из гуру помочь примерчиком на каком-нибудь великом и могучем HDL-языке как хотя бы до КСИ и ССИ доползти? Может кто-нибудь также интересуется данной идеей и будет не против проверки своих HDL-идей на практически готовом железе?
Есть готовая рабочая прошивка Pentagon-1024SL 2.2 вместе с исходником на AHDL. Бери и перекомпилируй, как тебе надо.
Кстати, схемный ввод не глючит, если все правильно делать. Для простых проектов (до 100 ячеек) я вообще не замечал разницы между схемным вводом и HDL- описанием. Однако при текстовом вводе обычно получается более компактно, хотя по началу и менее наглядно.
Как может применение какого-либо конкретного семейства МС быть глюком?
Разное семейство это разное быстродействие + экстремальная схемотехника = глюкодром . Можежешь даже в какомнить описании по сборке чегонить увидать рекомендации по применению мелкосхем определённого быстродействия .
(статью так и не нашёл , кажись былала в радио любителе или в радио...)
Я тоже собираю Спек на ПЛИС, только на XILINX XC95144XL, что в принципе тоже самое...
Результатов пока немного, если что-то получится, обязательно напишу...
А пока могу посоветовать VHDL-код от Speccy2007... он тоже для Altera 7128....
Смотри тут http://zx.pk.ru/showthread.php?t=3957&page=17
Это я читал, SYD - реальный чувак!, но он Львов, как я понял, собрал. Там куча микрух ещё идёт 2 статОЗУ, 2 АП6, а я хочу непременно Ленинград!
Добавлено через 8 минут
Есть готовая рабочая прошивка Pentagon-1024SL 2.2 вместе с исходником на AHDL. Бери и перекомпилируй, как тебе надо.
Это всё конечно хорошо, спасибо, но Ленинград и Пентагон - две разные машины. Как раз по части КСИ и ССИ - боюсь, что из твоего исходника проще сделать Пентагон-48, чем Ленина.
Кстати, схемный ввод не глючит, если все правильно делать. Для простых проектов (до 100 ячеек) я вообще не замечал разницы между схемным вводом и HDL- описанием.
А почему тогда такие косяки - вбил схемным вводом всё как в схеме Ленинграда, перепроверил 10 раз, а результат отличается?
KingOfEvil
16.05.2007, 23:03
Это всё конечно хорошо, спасибо, но Ленинград и Пентагон - две разные машины. Как раз по части КСИ и ССИ - боюсь, что из твоего исходника проще сделать Пентагон-48, чем Ленина.
Тебе нужна рабочая прошивка, ведь так? Пользуйся на здоровье. А сделать из нее ленинград - не проблема. Придется, правда потратить некоторое количество времени на изменение логики работы дисплейных счетчиков, конечно, если Ленинград является самоцелью.
А почему тогда такие косяки - вбил схемным вводом всё как в схеме Ленинграда, перепроверил 10 раз, а результат отличается?
Значит, так вбил. Надеюсь, ты не использовал готовые библиотеки 74-й серии? (тогда понятно, откуда глюки)
Тебе нужна рабочая прошивка, ведь так? Пользуйся на здоровье. А сделать из нее ленинград - не проблема. Придется, правда потратить некоторое количество времени на изменение логики работы дисплейных счетчиков, конечно, если Ленинград является самоцелью.
Самоцелью является собрать Спектрум своей мечты! Можно было конечно купить у тебя плату, запаять детальё, настроить и радоваться жизни, не понимая как вообще это работает. Решил изучать с основ (Ленинград-1), постепенно модернизируя до Композит-KAY-Scorpion. Чтобы можно было открыть какой-нибудь ZX-Ревю 91 года и чью-нибудь доработку себе прикрутить - странное хотя конечно счастье... зато абсолютно не вставляет с МГТФ-ом баловаться - такой Спек у меня есть! Хотел апгрейдить только мозги ПЛИС, собирая на бредборде, а уж как эпилог к пенсии замонстрячить плату:v2_lol:
Значит, так вбил. Надеюсь, ты не использовал готовые библиотеки 74-й серии? (тогда понятно, откуда глюки)
К сожалению да, пользовался готовыми библиотеками - очень уж наглядно да и привычнее всё же на схему смотреть, чем текст читать. Думаю, что это как раз замануха на Quartus, чтобы народ подсел на ПЛИС, купившись, что можно копирнуть схему и всё заработает, а потом уже поосвоившись садился за HDL!:v2_wink2: И всё-таки ещё одна супер-бредовая идея в голове ворочается, что в природе (Инете) должны быть секретные :v2_lol: работающие библиотеки 155-555 серии для Quartusа!:v2_lol:
KingOfEvil
18.05.2007, 11:27
К сожалению да, пользовался готовыми библиотеками - очень уж наглядно да и привычнее всё же на схему смотреть, чем текст читать. Думаю, что это как раз замануха на Quartus, чтобы народ подсел на ПЛИС, купившись, что можно копирнуть схему и всё заработает, а потом уже поосвоившись садился за HDL!:v2_wink2: И всё-таки ещё одна супер-бредовая идея в голове ворочается, что в природе (Инете) должны быть секретные :v2_lol: работающие библиотеки 155-555 серии для Quartusа!:v2_lol:
В библиотеках 74-й серии есть ошибки. Пару раз напоровшись на них, эти библиотеки я больше не использовал. Если очень хочется делать именно в схемном редакторе и чтоб не глючило - просто надо самому составить библиотечные модули счетчиков, регистров и т.д. из элементарных элеменов, входящих в состав основной библиотеки (не 74-й серии). И все будет тип-топ.
Если делаешь на плис в первую очередь забыть про существование элементов и делать все что касаемо плис на HDL.
KingOfEvil
18.05.2007, 21:18
Если делаешь на плис в первую очередь забыть про существование элементов и делать все что касаемо плис на HDL.
Между AHDL и схемным редактором принципиальной разницы нет (если не использовать библиотеки 74 серии). Это два варианта описания одного и того же, или взгляд с разных плоскостей на один и тот же предмет, если угодно.
VHDL/VERILOG модут давать даже худшие результаты, чем AHDL, т.к. синтез идет не напрямую, а через задницу. Все это сделано для поддержни стандартных у америкосов форматов описания аппаратуры, которыми они пользуются не один десяток лет.
Описания на VHDL и Verilog довольно далеки от стандартного описания схемы, а вот разводка топологии ПЛИС макимально приближена именно к принципиальной схеме. Отсюда вывод - чтобы получить масимально эффективную топологию внутри ПЛИС надо описывать логику в формате, максимально приближенном к формату топологии, а это либо AHDL, либо схемный редактор (речь идет о ПЛИС фирмы Altera).
Плохо только, что наиболее эффективные инструменты для Alter-ы более никуда не портируются. Вот для таких целей удобнее VHDL.
VHDL/VERILOG модут давать даже худшие результаты, чем AHDL, т.к. синтез идет не напрямую, а через задницу.
Это понимать так, что AHDL никогда не даст результатов хуже других HDL? "Ну и где эти евреи?" (с)
KingOfEvil
21.05.2007, 19:24
Это понимать так, что AHDL никогда не даст результатов хуже других HDL?
Это надо понимать, что AHDL _может_ давать (т.е. может и не давать) лучшие результаты, чем VHDL/Verilog. Все зависит от того, насколько грамотно сделан проект. Слово 'никогда' там не фигурировало.
"Ну и где эти евреи?" (с)
не понял
Это надо понимать, что AHDL _может_ давать (т.е. может и не давать) лучшие результаты, чем VHDL/Verilog.
Только вот AHDL это все таки схемный ввод в тексте - на нем описывают как я хочу получить результат, а на Verilog/VHDL -что я хочю получить врезультате , и так как все плисы стоятся на табличках термов + мультики+тригеры (к тому же у разных семейст а темболее производителей оно по разному организовано) то у Verilog/VHDL больще простора для оптимизации и лучшая комбинаторика. Напиши реверсивный сдвиговый регитр который сдвигает по обоим препадам клока на AHDL пока напишеш чекнешся (ну по крайней мере прийдется не в совсем удобном ключе писать), на Verilog/VHDL это пишется и интуитивно просто читается и результат(синтезированый) у Verilog/VHDL будет как минимум не хуже чем у AHDL.
Короче это холиварство всё, типа ASM vs C/C++, завязую :)
Это надо понимать, что AHDL _может_ давать (т.е. может и не давать) лучшие результаты, чем VHDL/Verilog. Все зависит от того, насколько грамотно сделан проект. Слово 'никогда' там не фигурировало.
Ага, т.е. любой другой HDL может или не может давать результат лучше AHDL? Полный паритет вобщем, а то из твоих предыдущих слов исходило, что AHDL - панацея. Тока вот в VHDL/Verilog можно думать мыслями, а не вентелями :)
не понял
Где теперь этот AHDL? В Альтере на него похоже совсем забили.
KingOfEvil
22.05.2007, 16:33
Ага, т.е. любой другой HDL может или не может давать результат лучше AHDL? Полный паритет вобщем, а то из твоих предыдущих слов исходило, что AHDL - панацея. Тока вот в VHDL/Verilog можно думать мыслями, а не вентелями :)
Надо думать головой. AHDL действительно ближе всего именно к топологии ПЛИС. Я не говорил, что это панацея, я сказал, что при грамотном его использовании можно получать лучшие результаты.
Где теперь этот AHDL? В Альтере на него похоже совсем забили.
У вас в буржуяндии считается хорошим тоном писать на том языке, который негласно приняли за стандарт. А я предпочитаю руководствоваться здравым смыслом.
Надо думать головой.
Я в неё ем только.
AHDL действительно ближе всего именно к топологии ПЛИС. Я не говорил, что это панацея, я сказал, что при грамотном его использовании можно получать лучшие результаты.
Ты говорил, что "VHDL/VERILOG модут давать даже худшие результаты, чем AHDL, т.к. синтез идет не напрямую, а через задницу. " Откуда такие данные, как идёт синтез? Ты умнее тысяч индусов из Altera/Xilinx/Latice, пишущих синтезаторы? И опять же, где теперь этот AHDL?
У вас в буржуяндии считается хорошим тоном писать на том языке, который негласно приняли за стандарт. А я предпочитаю руководствоваться здравым смыслом.
Пацтулом. У "нас в буржуяндии" считается хорошим тоном не тратить время на всякую фигню, когда можно сделать быстрее и удобнее. Современные синтезаторы знаешь ли не тупые, разгребут, да ещё и по ушам надают кучей warning'ов, что так делать нельзя (во всяком случае ISE меня учит постоянно, и что самое обидное - он прав :D).
KingOfEvil
22.05.2007, 19:36
Я в неё ем только.
заметно
заметно
Убил! А по существу так и будет 0.0?
KingOfEvil
22.05.2007, 21:29
Убил! А по существу так и будет 0.0?
По существу было в предыдущих постах. Если что-то недопонято, то читай документацию на ПЛИС.
Вообще, тема бессмысленная можно долго спорить, результат все равно будет 0.0
По существу было в предыдущих постах. Если что-то недопонято, то читай документацию на ПЛИС.
Ну? Давай уже линки и т.п. А то мож я не ту документацию по ПЛИС читал, где написано, что синтез исходников на VHDL/Verilog идёт через задницу.
Вообще, тема бессмысленная можно долго спорить, результат все равно будет 0.0
Надо всего-то не делать опрометчивых заявлений.
KingOfEvil
23.05.2007, 20:30
Надо всего-то не делать опрометчивых заявлений.
ДУБЛЬ 2.
Если ты не знаешь методику синтеза цифровых автоматов (и то, как это происходит при синтезе с AHDL и с VHDL), то читай не инструкцию по использованию VHDL, а соответствующую литературу. Когда прочитаешь, тогда поймешь.. Если все равно будет 0.0, тогда забей, значит не судьба.
ДУБЛЬ 2.
Придётся.
Если ты не знаешь методику синтеза цифровых автоматов (и то, как это происходит при синтезе с AHDL и с VHDL), то читай не инструкцию по использованию VHDL, а соответствующую литературу. Когда прочитаешь, тогда поймешь.. Если все равно будет 0.0, тогда забей, значит не судьба.
Я видимо не знаю, как синтезируются цифровые автоматы (я вообще погулять вышел) и видимо я ещё не знаю, что-же такого особого может предложить язык AHDL в противовес другим HDL, что как-то может повлиять на процесс интеза. Поэтому и линки прошу. Если линков нет и ты ничего другого кроме AHDL не знаешь, то, говоря по-русски, не пи.... И в третий раз тот же вопрос: если AHDL так могуч, то почему он сейчас там, где он есть?
ЗЫ: Теперь моим языком - дай мне материал о том, что AHDL имеет преимущество перед другими HDL, которое (преимущество) влияет на качество синтеза схемы в лучшую сторону.
Подскажите почему у меня MAX+plus II ругается на описание модуля. Типа он у меня нигде не используется, тогда как мне его оформить одного?
fifan, Это смотря шо делаеш. Точно не уверенен но вроде у MAX расширения файлов другие и формат файлов. Проект был созадн в Quartus.
Короче 100% решение
-созадеш новый проект обзываеш его zxvideo
-создаеш новый Verilog файл
-пихаеш туда содержимое из архива или просто переписываеш потом созданный
- типа всё
Вопрос а накой здалась эта юла? под нее обвязки нада столько что по колву микрух выйдет P1024SL.
Вопрос а накой здалась эта юла? под нее обвязки нада столько что по колву микрух выйдет P1024SL.
Heroy, а не твой сабж? узнаешь?
...DataSheet KAY2006NB. Данный документ является официальным описанием прошивки для микросхемы Altera MAX EPM7064SLC84-10 и именуемая далее как микросхема KAY2006NB (Северный мост). За основу прошивки взята схема KAY-1024 приведенная к удобному графическому представлению владельцем сайта SBLive.narod.ru... :v2_thumb:
:):v2_thumb::v2_cheer:
По мне так лучше собрать "Модуль расширения видеорежимов ZX-VideoModes". Случайно не твое творение? Если да то вопрос: прошивка готова (EPM3063ALC44-10)?
:v2_blush:
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot