Я в этом не сомневался, мое сообщение для тех, кто еще только собирается знакомится с Альтерой и этот вопрос встает в полный рост.Спасибо, разобрлся уже несколько месяцев назад сам. Впрочем всё было на поверхности, стоило просто потратить час времени
Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
misterdi<@>i.ua
- Реклама
- wss60
- Потрогал лапой паяльник
- Сообщения: 350
- Зарегистрирован: Пт сен 10, 2010 20:48:01
- Откуда: Минск
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Может, кто нибудь знает аналог счетчика [url=chrome-extension://encfpfilknmenlmjemepncnlbbjlabkc/http://www.ti.com/lit/ds/symlink/cd4017b.pdf]CD4017[/url] (К561ИЕ8) в quartus.
Пробовал переделать сдвиговый регистр, но он работает немного не правильно.
Пробовал переделать сдвиговый регистр, но он работает немного не правильно.
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
В приведённом вами даташите явно показано, что 4017 состоит из счетчика джонсона, а не просто сдвиговых регистров. Таким образом, там за такт перекидывается только один регистр, а не 2.
Хотя симуляция, и вправду, какая-то странная.
Хотя симуляция, и вправду, какая-то странная.
- wss60
- Потрогал лапой паяльник
- Сообщения: 350
- Зарегистрирован: Пт сен 10, 2010 20:48:01
- Откуда: Минск
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Схема в даташите слишком замудреная, особенно если нужно расширить счетчик.
Подумал, что может есть готовое решение, оптимизированное под FPGA, но не нашел.
Не понятно, что не нравится симулятору – клок подается на все регистры одновременно!
В общем, остановился на таком варианте…
Подумал, что может есть готовое решение, оптимизированное под FPGA, но не нашел.
Не понятно, что не нравится симулятору – клок подается на все регистры одновременно!
В общем, остановился на таком варианте…
- Вложения
-
- dec2.PNG
- (36.14 КБ) 901 скачивание
-
Взявший Паяльник
- Родился
- Сообщения: 5
- Зарегистрирован: Вт ноя 17, 2015 16:28:59
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
а как сам плис программировать какой нужен программатор?
- Реклама
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Решил с целью повышения образованости поизучать ПЛИС. Ну и первый вопрос: зачем нужен редактор для xHDL, если все можно нарисовать в схемном редакторе?
- Vert Corbie
- Родился
- Сообщения: 9
- Зарегистрирован: Пт мар 08, 2013 20:35:21
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Добрый день коты. Изучаю vhdl. Столкнулся с такой проблемой.
Есть массив, допустим с именем pack_in из сигналов std_logic_vector (7 downto 0)
При попытке сравнить ячейку массива с числом в конструкции if
if (pack_in(7) = x"FF") then
компилятор ругается на эту строчку
Есть массив, допустим с именем pack_in из сигналов std_logic_vector (7 downto 0)
При попытке сравнить ячейку массива с числом в конструкции if
if (pack_in(7) = x"FF") then
компилятор ругается на эту строчку
- Грендайзер
- Мучитель микросхем
- Сообщения: 479
- Зарегистрирован: Вт июн 02, 2009 22:38:40
- Откуда: Город-герой Москва
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
А Вы уверены, что компилятор именно на эту строку ругается? И если да, то точно ли у Вас имеется элемент массива под номером 7? И опять таки, если да, то какие у Вас там библиотеки подключены? И че вообще компилятор то пишет?
- Vert Corbie
- Родился
- Сообщения: 9
- Зарегистрирован: Пт мар 08, 2013 20:35:21
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Ругается точно на эту строчку. Если этот маленький блок 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;
Может быть запись сравнения с ячейкой как-то криво записана. Может вбще нельзя с ячейкой сравнивать, а надо перписать значение в отдельную переменную? И сравнивать с переменной.
Добавлено after 1 hour 33 minutes 3 seconds:
Вообщем действуя методом тыка
объявил x"FF" как переменную и сравнивал уже с ней
if (pack_in(7) = arp_ff) then
так проходит, что странно. По идее компилятор не должен видеть разницы в этих записях, однако видит
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;
Может быть запись сравнения с ячейкой как-то криво записана. Может вбще нельзя с ячейкой сравнивать, а надо перписать значение в отдельную переменную? И сравнивать с переменной.
Добавлено after 1 hour 33 minutes 3 seconds:
Вообщем действуя методом тыка
if (pack_in(7) = arp_ff) then
так проходит, что странно. По идее компилятор не должен видеть разницы в этих записях, однако видит
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Попробуйте закомментить строку USE ieee.numeric_std.all;
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Тут может быть явный конфликт библиотек. В обычной жизни (особенно под квартус) достаточно всего двух: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 всегда конфликтовал с нумерик.
Так что оставьте только необходимые библиотеки
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Vert Corbie
- Родился
- Сообщения: 9
- Зарегистрирован: Пт мар 08, 2013 20:35:21
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Тогда я массивом не смогу пользоваться по идее.Грендайзер писал(а):Попробуйте закомментить строку USE ieee.numeric_std.all;
Ясно. Остальные библиотеки это для операции сложения std_logic_vector. Вроде как он почему-то не может складываться напрмую и надо конвертировать в integer, складывать и конвертировать обратно.Meteor писал(а):Тут может быть явный конфликт библиотек. В обычной жизни (особенно под квартус) достаточно всего двух:
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
logic_arith всегда конфликтовал с нумерик.
Так что оставьте только необходимые библиотеки
А по поводу ошибки. Обозначил нужное число за переменную, сравниваю с ней, вроде не ругается.
variable arp_ff: STD_LOGIC_VECTOR (7 downto 0):= x"FF";
Всем спасибо
- Грендайзер
- Мучитель микросхем
- Сообщения: 479
- Зарегистрирован: Вт июн 02, 2009 22:38:40
- Откуда: Город-герой Москва
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Только в том случае если Вы компилятор сами писали и накрутили с три хрена...Тогда я массивом не смогу пользоваться по идее.
- alex38779
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт окт 31, 2013 10:54:32
- Контактная информация:
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Как можно создать массив данных, например коды для семисегментника?
Делаю так, но когда присваиваю выводам индикатора то тупо горят все сегменты. Если присваиваю просто значение, то горят как надо.:
reg [7:0] num1 [0:7];
initial
begin
num1[0] = 8'b10101010;
num1[1] = 8'b01000000;
end
Делаю так, но когда присваиваю выводам индикатора то тупо горят все сегменты. Если присваиваю просто значение, то горят как надо.:
reg [7:0] num1 [0:7];
initial
begin
num1[0] = 8'b10101010;
num1[1] = 8'b01000000;
end
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Я бы попробовал такalex38779 писал(а):Как можно создать массив данных, например коды для семисегментника?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Грендайзер
- Мучитель микросхем
- Сообщения: 479
- Зарегистрирован: Вт июн 02, 2009 22:38:40
- Откуда: Город-герой Москва
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Мсье знает толк в подколахЯ бы попробовал так
А если серьёзно, то когда я разбирался с верилогом, то поразился тому факту, что инициализация многомерных массивов, вообще говоря в стандарте как таковая не прописана. В качестве учебной задачи, хотел написать генератор синуса. Так вот если у вас там не какой то аппаратный блочёк типа блочной памяти или что то в этом духе, то способ его инициализации, будит сильно зависеть от средств синтеза. Тот же Synplify к примеру, инициализирует такие массивы с помощью текстового файлика (причём помоиму исключительно командой $readmemb). Для меня в своё время это показалось какой то дикостью.
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Подскажите пожалуйста:
1)Есть ли у ножек Cyclone 4 да и других моделях токо-ограничивающие резисторы и где вообще можно эту информацию увидеть ?
2)Где можно вообще посмотреть информацию, к каким ножкам подключать питание и прочую "обвязку", для работоспособности ПЛИС ?
Сильно пожалуйста не пинайте за вопросы, я совершенно не разбираюсь в этом ....
1)Есть ли у ножек Cyclone 4 да и других моделях токо-ограничивающие резисторы и где вообще можно эту информацию увидеть ?
2)Где можно вообще посмотреть информацию, к каким ножкам подключать питание и прочую "обвязку", для работоспособности ПЛИС ?
Сильно пожалуйста не пинайте за вопросы, я совершенно не разбираюсь в этом ....
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Токоограничивающих резисторов нет, есть возможность при назначении вывода указать/выбрать максимальный ток. Но там есть нюансы связанны с максимальным током банка.Sebastyan писал(а): 1)Есть ли у ножек Cyclone 4 да и других моделях токо-ограничивающие резисторы и где вообще можно эту информацию увидеть ?
Саму информацию о назначении выводов можно смотреть тут, выбрав нужную ПЛИС.Sebastyan писал(а): 2)Где можно вообще посмотреть информацию, к каким ножкам подключать питание и прочую "обвязку", для работоспособности ПЛИС ?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
[uquote="Meteor",url="/forum/viewtopic.php?p=3453675#p3453675"]Токоограничивающих резисторов нет, есть возможность при назначении вывода указать/выбрать максимальный ток. Но там есть нюансы связанны с максимальным током банка.[/uquote]
Это в самом Квартусе ?
Если не сложно, не могли бы Вы в самых общих чертах подсказать пожалуйста, что за ньюанс такой связанный с максимальным током банка ?
Это в самом Квартусе ?
Если не сложно, не могли бы Вы в самых общих чертах подсказать пожалуйста, что за ньюанс такой связанный с максимальным током банка ?
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Да, в самом квартусе, точнее в пинпланере.
Что касается ограничения по току, то допустим есть возможность указать максимальный ток одного вывода 24 мА. В банке, допустим 20 выводов, и вдруг нам захотелось каждому выводу назначить 24 мА. Получим 480мА. Ограничения самого банка при этом 200 мА, получается перебор.
Что касается ограничения по току, то допустим есть возможность указать максимальный ток одного вывода 24 мА. В банке, допустим 20 выводов, и вдруг нам захотелось каждому выводу назначить 24 мА. Получим 480мА. Ограничения самого банка при этом 200 мА, получается перебор.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже


