Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Вт авг 12, 2014 16:15:23

Спасибо, разобрлся уже несколько месяцев назад сам. Впрочем всё было на поверхности, стоило просто потратить час времени

Я в этом не сомневался, мое сообщение для тех, кто еще только собирается знакомится с Альтерой и этот вопрос встает в полный рост.

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн авг 25, 2014 11:44:16

Может, кто нибудь знает аналог счетчика CD4017 (К561ИЕ8) в quartus.
Пробовал переделать сдвиговый регистр, но он работает немного не правильно.
Вложения
wav.PNG
(11.15 KiB) Скачиваний: 418
dec.PNG
(30.77 KiB) Скачиваний: 678

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн авг 25, 2014 12:19:00

В приведённом вами даташите явно показано, что 4017 состоит из счетчика джонсона, а не просто сдвиговых регистров. Таким образом, там за такт перекидывается только один регистр, а не 2.

Хотя симуляция, и вправду, какая-то странная.

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн авг 25, 2014 13:57:26

Схема в даташите слишком замудреная, особенно если нужно расширить счетчик.
Подумал, что может есть готовое решение, оптимизированное под FPGA, но не нашел.
Не понятно, что не нравится симулятору – клок подается на все регистры одновременно!
В общем, остановился на таком варианте…
Вложения
dec2.PNG
(36.14 KiB) Скачиваний: 685

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Вт ноя 17, 2015 17:06:48

а как сам плис программировать какой нужен программатор?

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн ноя 30, 2015 15:17:32

Решил с целью повышения образованости поизучать ПЛИС. Ну и первый вопрос: зачем нужен редактор для xHDL, если все можно нарисовать в схемном редакторе?

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сб мар 25, 2017 20:16:04

Добрый день коты. Изучаю vhdl. Столкнулся с такой проблемой.
Есть массив, допустим с именем pack_in из сигналов std_logic_vector (7 downto 0)
При попытке сравнить ячейку массива с числом в конструкции if

if (pack_in(7) = x"FF") then

компилятор ругается на эту строчку

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Сб мар 25, 2017 21:14:33

А Вы уверены, что компилятор именно на эту строку ругается? И если да, то точно ли у Вас имеется элемент массива под номером 7? И опять таки, если да, то какие у Вас там библиотеки подключены? И че вообще компилятор то пишет?

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн мар 27, 2017 19:25:11

Ругается точно на эту строчку. Если этот маленький блок if закоментить то компиляция проходит без ошибок.

if (pack_in(7) = х"FF") then
arp_flag <= '1';
end if;


Ошибку выдает - near text ""; exprcting ")" or ","

библиотеки
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.all;

Может быть запись сравнения с ячейкой как-то криво записана. Может вбще нельзя с ячейкой сравнивать, а надо перписать значение в отдельную переменную? И сравнивать с переменной. :shock:

Добавлено after 1 hour 33 minutes 3 seconds:
Вообщем действуя методом тыка :))) объявил x"FF" как переменную и сравнивал уже с ней
if (pack_in(7) = arp_ff) then
так проходит, что странно. По идее компилятор не должен видеть разницы в этих записях, однако видит

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн мар 27, 2017 21:52:00

Попробуйте закомментить строку USE ieee.numeric_std.all;

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Вт мар 28, 2017 19:38:26

Vert Corbie писал(а):библиотеки
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.all;

Тут может быть явный конфликт библиотек. В обычной жизни (особенно под квартус) достаточно всего двух:
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
logic_arith всегда конфликтовал с нумерик.
Так что оставьте только необходимые библиотеки

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Вс апр 02, 2017 22:46:55

Грендайзер писал(а):Попробуйте закомментить строку USE ieee.numeric_std.all;

Тогда я массивом не смогу пользоваться по идее.


Meteor писал(а):Тут может быть явный конфликт библиотек. В обычной жизни (особенно под квартус) достаточно всего двух:
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
logic_arith всегда конфликтовал с нумерик.
Так что оставьте только необходимые библиотеки


Ясно. Остальные библиотеки это для операции сложения std_logic_vector. Вроде как он почему-то не может складываться напрмую и надо конвертировать в integer, складывать и конвертировать обратно.

А по поводу ошибки. Обозначил нужное число за переменную, сравниваю с ней, вроде не ругается. :lol:
variable arp_ff: STD_LOGIC_VECTOR (7 downto 0):= x"FF";

Всем спасибо :beer:

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн апр 03, 2017 08:12:24

Тогда я массивом не смогу пользоваться по идее.

Только в том случае если Вы компилятор сами писали и накрутили с три хрена...

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Ср апр 12, 2017 19:17:49

Как можно создать массив данных, например коды для семисегментника?

Делаю так, но когда присваиваю выводам индикатора то тупо горят все сегменты. Если присваиваю просто значение, то горят как надо.:

reg [7:0] num1 [0:7];
initial
begin
num1[0] = 8'b10101010;
num1[1] = 8'b01000000;
end

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Ср апр 12, 2017 20:43:01

alex38779 писал(а):Как можно создать массив данных, например коды для семисегментника?

Я бы попробовал так

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Ср апр 12, 2017 22:14:03

Я бы попробовал так

Мсье знает толк в подколах :))
А если серьёзно, то когда я разбирался с верилогом, то поразился тому факту, что инициализация многомерных массивов, вообще говоря в стандарте как таковая не прописана. В качестве учебной задачи, хотел написать генератор синуса. Так вот если у вас там не какой то аппаратный блочёк типа блочной памяти или что то в этом духе, то способ его инициализации, будит сильно зависеть от средств синтеза. Тот же Synplify к примеру, инициализирует такие массивы с помощью текстового файлика (причём помоиму исключительно командой $readmemb). Для меня в своё время это показалось какой то дикостью. :dont_know: Это после VHDL, в котором работа с подобными вещами продумана достаточно хорошо, начиная с инициализации и заканчивая доступом к единичному элементу. Впрочем насколько я понял в SV этот недуг отсутствует.

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Вс сен 09, 2018 15:16:14

Подскажите пожалуйста:

1)Есть ли у ножек Cyclone 4 да и других моделях токо-ограничивающие резисторы и где вообще можно эту информацию увидеть ?
2)Где можно вообще посмотреть информацию, к каким ножкам подключать питание и прочую "обвязку", для работоспособности ПЛИС ?

Сильно пожалуйста не пинайте за вопросы, я совершенно не разбираюсь в этом ....

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Вс сен 09, 2018 20:45:42

Sebastyan писал(а):1)Есть ли у ножек Cyclone 4 да и других моделях токо-ограничивающие резисторы и где вообще можно эту информацию увидеть ?

Токоограничивающих резисторов нет, есть возможность при назначении вывода указать/выбрать максимальный ток. Но там есть нюансы связанны с максимальным током банка.
Sebastyan писал(а):2)Где можно вообще посмотреть информацию, к каким ножкам подключать питание и прочую "обвязку", для работоспособности ПЛИС ?

Саму информацию о назначении выводов можно смотреть тут, выбрав нужную ПЛИС.

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн сен 10, 2018 20:08:21

Токоограничивающих резисторов нет, есть возможность при назначении вывода указать/выбрать максимальный ток. Но там есть нюансы связанны с максимальным током банка.


Это в самом Квартусе ?
Если не сложно, не могли бы Вы в самых общих чертах подсказать пожалуйста, что за ньюанс такой связанный с максимальным током банка ?

Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них

Пн сен 10, 2018 20:18:41

Да, в самом квартусе, точнее в пинпланере.
Что касается ограничения по току, то допустим есть возможность указать максимальный ток одного вывода 24 мА. В банке, допустим 20 выводов, и вдруг нам захотелось каждому выводу назначить 24 мА. Получим 480мА. Ограничения самого банка при этом 200 мА, получается перебор.
Ответить