Помогите начинающему вникнуть в мир EPM240

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Помогите начинающему вникнуть в мир EPM240

Сообщение clawham »

И снова здравствуйте!
Решил попробывать свои силы в реализации http://radiokot.ru/forum/viewtopic.php?f=60&t=97244 отсюда.
Потратил пол дня на квартус и возникло 100500 вопросов :) Если кому не сложно поделитесь своим мнением по этим поводам:
1) попвробывал кинуть в схеме счетчик адреса 19 бит он занял 19 логических ячеек сам по себе!!! а у меня всего 240....хватит ли мне? мне ещё промежуточную защелку надо , мультиплексор 19 бит и т.д. ну там по пунктам все расписано... Хватит? или брать 570 ячеек?
2) Как понять тактование? у микрухи по краям 6 тактовых входов что это значит? они все запаралелены или кварц на платке http://www.ebay.com/itm/1PCS-NEW-EPM240 ... 3f225bed8b только к одному выводу подключен?

3) Как делать делители частоты? просто триггерами? а мне на 64 надо поделить :) не дофифа ли триггеров рисовать прийдётся?

4) как мне раз в 32 такта изобразить один тактовый прямоугольниц(короткий)
5) как в верилоге обращаться к питам уже существующего элемента на схематике? или пока не стоит заморачитваться и рисовать все в схематике?
6) мне нужно по кругу выдавать на выход числа 0...255(адреса) а потом начинать сначала 0...255....так восемь раз а потом на 8-й раз уже начать с 256 и до 512... для этого мой счетчик 19 битный будет иметь паралельную синхронную загрузку, я раз в 256 тактов буду перегружать его с предварительной ячейки а вот как мне потом инкрементнуть по фронту какого-то импульса эту промежуточную ячейку на 256? ставить сумматор и с выхода этого триггера на его же вход? это же сожрет тучу вентилей...а ещё куча делителей и т.д. :)
7) Если мне надо на выход подавать то что я получил на входе по 8-мибитной шине только прокрученную на 1-2-3-4-5-6-7 бит по кругу, мне можно это и на верилоге написать как кейсами - тоесть на мультиплексорах и можно напрямую из входных пинов кидать на выходные? триггеров там или регистров не нужно?
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Реклама
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение Meteor »

Рекомендую сперва реализовать синтез всех ваших "штучек-примочек", и лишь после этого выбирать в какую ПЛИС разместить(в ква есть возможнось автоматического назначения микросхемы). Желательно иметь под финал некоторый запас, ибо если к примеру сами назначите вывода (допустим развели уже плату, а проект не готов был), то может потребоваться еще некоторые ресурсы.
Про делитель. Роль делителя очень хорошо выполняет счетчик, в вашем случае достаточно 6 разрядов (2^6=64).
Относительно реализации семи (или восьми? из текста не слишком понятно) подсчетов до 255, и одного счета до 512. Можно сделать так: счетчик на 11 разрядов из которых 8- для счета 0-255. Далее схема сравнения (элемент 2И для самых старших разрядов), на выходе которой признак 0- первые подсчеты, 1- последний подсчет. Ну и наконец мультиплексор, если признак=0, то к значениям счетчика добавляем 0, иначе добавляем 1.
Импульс раз в N тактов делается при помощи счетчиков и комбинаторных схем. Только учтите, выход комбинаторики д.б. синхронизирован тактовыми импульсами, если этого не сделать, то рискуете создать узел со случайным числом вызванным не одновременным сбросом триггеров счетчика.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Реклама
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение clawham »

Попробывал в квартусе и ксилинксе поработать...остановился на ксилинксе...

пробую написать на верилоге 19 битный счетчик с енейблом паралельной загрузкой и сбросом(все синхронно) и чтото как-то не могу понять где я торможу?

Код: Выделить всё

module cnt19erl(
    output [18:0] outp,
    input [18:0] data,
    input enable,
    input clk,
    input reset,
    input load);
	 
reg [18:0] out;

//-------------Начало кода-------
always @(posedge clk)
    if (reset) begin
        out		  <= 18'b0 ;
    end else if (load) begin
                out <= data;
                end else if (enable) begin
                             out <= out + 1;
									  outp=out;
                     end
endmodule
что я не так делаю? :)

и даже если получится как мне это проверить в симуляторе?
Вложения
four.rar
проект
(903.46 КБ) 325 скачиваний
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение Meteor »

Испытываю трудности с верилогом (надо конечно начать с ним общаться), но можно ведь и подглядеть что да как делают другие :idea:
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Реклама
Эиком - электронные компоненты и радиодетали
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение clawham »

дело в том что я-то как программист всё в этом коде понимаю...а вот в среде, настройках и окружении нет...

в общем если у кого есть желание и нервов помочь начинающему реализовать этот проектик в альтере или ксилинксе по телефону или аське или скайпе - я буду очень благодарен.
Верилог показался более прозрачным чем vhdl... но учитывая что я пустая книга - как начлене меня учить так и поеду....собственно код и был взят чей-то готовый только подправлены разрядности и логика работы.
например что не монимаю - есть у меня шина 16 бит и ещё 4 отдельно стоящие wire на схематике....как мне их обьединить в одну шину 20 бит?чтоб потом арифметику с этой шины делать или присвоение в регистр?копать assign ?

второе:
есть у меня декларация output out[18:0]

в этом счетчике я завел регистр reg[18:0]

пишу что по позеджу инкрементировать этот reg <= reg+1;

а как мне этот рег назначить на выход? ведь вроде симулятор isim чтото показывает но выход всегда равен нулю вне зависимости от входных сигналов и тактов

часот в примерах вижу

Код: Выделить всё

 15 output [7:0] out;
 16 //------------Input Ports--------------
 17 input [7:0] data;
 18 input enable, clk, reset;
 19 //------------Internal Variables--------
 20 reg [7:0] out;
вот такое но среда не компилирует - орет переназначение out некоректное! а вправду как разобраться где регистр а где выход?
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Реклама
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение GARMIN »

Мне разобраться с EPM240 очень помог сайт http://marsohod.org/.
Реклама
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение clawham »

вот оттуда копи-паста счетчика-делителя и кукиш :)
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Alkul
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение Alkul »

clawham писал(а):как начлене меня учить
Чего-чего? :))
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение clawham »

БГГгг...опечатко..начнете.....наверное...:))) а поредактировать не могу :(
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: Помогите начинающему вникнуть в мир EPM240

Сообщение GARMIN »

clawham писал(а):дело в том что я-то как программист всё в этом коде понимаю...а вот в среде, настройках и окружении нет...
http://fpga.in.ua/
Зайдите, почитайте.
clawham писал(а): часот в примерах вижу

Код: Выделить всё

 15 output [7:0] out;
 16 //------------Input Ports--------------
 17 input [7:0] data;
 18 input enable, clk, reset;
 19 //------------Internal Variables--------
 20 reg [7:0] out;
а вправду как разобраться где регистр а где выход?
Можно назначить другое имя вместо out. Возможно, есть зарезервированное слово в верилоге.
В строке 15 у вас назначен выход, а в строке 20 он обозначен как регистровый.
Дальше ему нужно назначать неблокирущее присвоение (<=).
Сам тоже сейчас разбираюсь с верилогом, а то всё графика, схемы, схемы... :)
Ответить

Вернуться в «ПЛИС»