ПЛИС
ПЛИС
здравствуйте дорогие форумчани и гуру ПЛИС на max plus 2
обращаюсь с такой просьбой
совсем недавно начал изучать в университете ПЛИС на max plus 2 и преподаватель задал на дом задачу написать программу параметрического счётчика на T,JK,RS-триггерах
помогите мне пожалуйста это реализовать, а то в цифровой технике не бум-бум
P.S. заранее спасибо
обращаюсь с такой просьбой
совсем недавно начал изучать в университете ПЛИС на max plus 2 и преподаватель задал на дом задачу написать программу параметрического счётчика на T,JK,RS-триггерах
помогите мне пожалуйста это реализовать, а то в цифровой технике не бум-бум
P.S. заранее спасибо
- Реклама
Re: ПЛИС
Помочь можно. Только за вас делать вряд ли кто-то будет.
Так, что придётся вам разбираться в цифровой технике
А если по теме, то подробности задания где? Как говориться - телепатов тут нет.
Так, что придётся вам разбираться в цифровой технике
А если по теме, то подробности задания где? Как говориться - телепатов тут нет.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
-
m.e.s.s.e.r
- Родился
- Сообщения: 1
- Зарегистрирован: Пт окт 14, 2011 13:07:19
Re: ПЛИС
если можно я задание напишу.
модуль счета 5. нужно выполнить на т-триггере.
за меня никто не сделает, но хотя бы укажите на ошибки. нужно чтобы считал 0 1 2 3 4 0 1 2 3 4 ....
вот на чем остановился...
PARAMETERS
(
modul = 5
);
CONSTANT end_state = modul - 1;
SUBDESIGN p_cnt
(
clk : INPUT;
reset : INPUT = GND;
out[5..1] : OUTPUT;
ce : INPUT = VCC;
)
VARIABLE
tr[5..1] : tffe;
BEGIN
tr[].(clrn, ena, clk) = (!reset, ce, clk);
out[]= tr[].q;
tr[1].t = vcc;
tr[2].t = tr[1].q;
tr[3].t = tr[1].q&tr[2].q;
tr[4].t = tr[1].q&tr[2].q&tr[3];
tr[5].t = tr[1].q&tr[2].q&tr[3].q&tr[4].q;
IF tr[].q < end_state THEN
tr[].t = tr[].q + 1;
ELSE
tr[].t = 0;
END IF;
END;
модуль счета 5. нужно выполнить на т-триггере.
за меня никто не сделает, но хотя бы укажите на ошибки. нужно чтобы считал 0 1 2 3 4 0 1 2 3 4 ....
вот на чем остановился...
PARAMETERS
(
modul = 5
);
CONSTANT end_state = modul - 1;
SUBDESIGN p_cnt
(
clk : INPUT;
reset : INPUT = GND;
out[5..1] : OUTPUT;
ce : INPUT = VCC;
)
VARIABLE
tr[5..1] : tffe;
BEGIN
tr[].(clrn, ena, clk) = (!reset, ce, clk);
out[]= tr[].q;
tr[1].t = vcc;
tr[2].t = tr[1].q;
tr[3].t = tr[1].q&tr[2].q;
tr[4].t = tr[1].q&tr[2].q&tr[3];
tr[5].t = tr[1].q&tr[2].q&tr[3].q&tr[4].q;
IF tr[].q < end_state THEN
tr[].t = tr[].q + 1;
ELSE
tr[].t = 0;
END IF;
END;
- Pavel_1978
- Опытный кот
- Сообщения: 830
- Зарегистрирован: Пт ноя 16, 2007 11:21:37
Re: ПЛИС
Приветствую всех. Взялся раскуривать ПЛИС и QUARTUS II. Проблема в следующем:
создаю новый проект все по шагам как описано тут: http://we.easyelectronics.ru/plis/quart ... mstva.html
назначаю файл главным при компилировании выдает ошибки Подскажите что я не так делаю.
Причем если делаю проект на Verilog те же грабли.
создаю новый проект все по шагам как описано тут: http://we.easyelectronics.ru/plis/quart ... mstva.html
назначаю файл главным при компилировании выдает ошибки Подскажите что я не так делаю.
Причем если делаю проект на Verilog те же грабли.
-
Judchin
- Родился
- Сообщения: 3
- Зарегистрирован: Ср мар 14, 2007 19:05:23
- Откуда: г. Орел
- Контактная информация:
Re: ПЛИС
для примера выкладываю пример синхронного счетчика на JK-триггерах, на Т-почти будет также.
тока файл для Quartus II
тока файл для Quartus II
- Вложения
-
- counter_5.rar
- (2.47 КБ) 227 скачиваний
- Реклама
- Pavel_1978
- Опытный кот
- Сообщения: 830
- Зарегистрирован: Пт ноя 16, 2007 11:21:37
Re: ПЛИС
Создал проект все легко скомпилировалось, правда не с первого раза (не назначил файл главным файлом проекта).Judchin писал(а):для примера выкладываю пример синхронного счетчика на JK-триггерах, на Т-почти будет также.
тока файл для Quartus II
Графические схемы нормально компилируются и симулируются. А вот попытки создать проект на VHDL или Verilog оканчиваются тем что на картинке.
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: ПЛИС
Не знаю как с верилогом, а в ВХДЛ наименование проекта должно совпадать с именем файла. Например если пишемА вот попытки создать проект на VHDL или Verilog оканчиваются тем что на картинке.
Код: Выделить всё
Entity counter_17
//////
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
-
Judchin
- Родился
- Сообщения: 3
- Зарегистрирован: Ср мар 14, 2007 19:05:23
- Откуда: г. Орел
- Контактная информация:
Re: ПЛИС
[quote]Не знаю как с верилогом, а в ВХДЛ наименование проекта должно совпадать с именем файла...[/quote]
Не помню как в Max Plus'e, но в Quartus'e на верилоге такого нет, имена могут быть любыми (есть такая команда "Set as Top-Level Entity" Ctrl+Shift+J), В Мах Plus'e она тоже помниться была.
Обычный счетчик 5-разрядный будет выглядеть так:
[code]module counter_5
(
input wire C,
input wire R,
output reg [5:0] Q
);
always @ (posedge C or negedge R)
begin
if (!R) Q = 0;
else
Q = Q + 1;
end
endmodule
[/code]
Если требуется именно на T-триггерах, то можно смотри сюда: [url]http://www.marsohod.org/index.php/downloads/doc_download/37---verilog[/url]
Не помню как в Max Plus'e, но в Quartus'e на верилоге такого нет, имена могут быть любыми (есть такая команда "Set as Top-Level Entity" Ctrl+Shift+J), В Мах Plus'e она тоже помниться была.
Обычный счетчик 5-разрядный будет выглядеть так:
[code]module counter_5
(
input wire C,
input wire R,
output reg [5:0] Q
);
always @ (posedge C or negedge R)
begin
if (!R) Q = 0;
else
Q = Q + 1;
end
endmodule
[/code]
Если требуется именно на T-триггерах, то можно смотри сюда: [url]http://www.marsohod.org/index.php/downloads/doc_download/37---verilog[/url]
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: ПЛИС
Я как раз о квартусе писал - регулярно создаю проекты на VHDL. 
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: ПЛИС
Я использую Quartus II и обычно начинаю проект с схематика "File->New->Block Diagram/Schematic File". Он автоматом делается топовым файлом проекта. Потом добавляем таким-же способом файл на Verilog, в котором описываем module. Далее делаем "File->Create/Update->Create Symbol Files From Current File". Квартус компилит верилоговый файл и добавляет к проекту модуль (или несколько модулей) в базу проекта, после чего их можно вставлять в схематик обычным способом, через Symbol Tool. Модули должны появиться в дереве Project.Pavel_1978 писал(а):Создал проект все легко скомпилировалось, правда не с первого раза (не назначил файл главным файлом проекта).
Графические схемы нормально компилируются и симулируются. А вот попытки создать проект на VHDL или Verilog оканчиваются тем что на картинке.
Можно, конечно, и топовый файл написать на Verilog или другом HDL, но со схематиком удобней потом разбираться в больших пректах, тк один счетчик в PLD/FPGA обычно никто не делает
PS: Если что непонятно, готов пояснить.
Все будет только лучше, в крайнем случае - хуже.
- Pavel_1978
- Опытный кот
- Сообщения: 830
- Зарегистрирован: Пт ноя 16, 2007 11:21:37
Re: ПЛИС
Спасибо, буду пробовать, о результатах отпишусь.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: ПЛИС
Это какбэ 6-разрядный счетчик получаетсяJudchin писал(а):Обычный счетчик 5-разрядный будет выглядеть так:
output reg [5:0] Q
Все будет только лучше, в крайнем случае - хуже.


