Здравствуйте, всех с праздником Взялся тут за ниос, в связи с чем возник вопрос. Какие компоненты необходимы в системе, что бы произвести отладку проекта?
Есть вопрос. Делаю дешифратор, но мне нужно один сегмент не выводить, т.е. пропустить:
Код:
vlamp1 <= not (digit_0 (6 downto 4) & digit_0 (2 downto 0)) when "0000",
Но проблема в том, что digit_0 определён как
Код:
constant digit_0:std_logic_vector := "0111111";
Получаю такое сообщение об ошибке: ERROR:HDLParsers:807 - "C:/ISE/censored.vhd" Line 354. digit_0 can not be used with range downto. Переопределять константы не хочется. Очень.
Не получается. при компиляции ругани нет, но на индикаторе каша.
Попробовал vlamp1 (5 downto 0) переопределить как vlamp1 (0 to 5) - всё-равно каша. Но в этом случае, уже сам не понимаю почему. Выводы то vlamp1(0) как был подключен к сегменту A - так и остался.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Если получается каша - то проще уже подсоединить все разряды по отдельности руками к промежуточной переменной, а к ней уже применить where. Благо, разрядов у вас всего 7 штук. Кажется, здесь уже обсуждалась похожая проблема, только для верилога. То есть сделать как-то так:
Код:
tmp <= (digit_0 (0) & digit_0 (1) & ...) vlamp1 <= not (tmp) when "0000"
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Отлаживаюсь, да, в железе. Ноги не попутал. До этого всё работало правильно. Но тут мне понадобился еще один сигнал, и я решил его занять у одной цифры сегмент D. Так как это часы и в том разряде отображаться будут только цифры от 0 до 5, то я могу сегмент A соединить с сегментом D, и один ключ я могу использовать для своих нужд. Вот теперь и думаю, как эту дырку написать.
РадиоЛоматель писал(а):
то проще уже подсоединить все разряды по отдельности
Да, мне пришла аналогичная мысль. И даже промежуточная переменная не нужна. Только будет несколько растянуто. Но, еще и хочется понять, почему так. Пока соединял так сигналы - всё получалось правильно. Я же так сдвиговые регистры делаю. Стоило с константой попробовать - фокус уже не проходит. Может описание константы другое нарисовать?
О, нашел! Действительно описание константы имело значение: constant digit_0:std_logic_vector(6 downto 0) := "0111111"; -- работает constant digit_0:std_logic_vector := "0111111"; -- не работает в данном конкретном случае...
Но проблема в том, что digit_0 определён как Код: constant digit_0:std_logic_vector := "0111111";
Получаю такое сообщение об ошибке:
Так может все гораздо банальнее? У Вас вектор размерностью 1(по коду представленному), объявите его
Код:
digit_0:std_logic_vector (6 downto 0):= "0111111"
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Да, именно так проблема и разрешилась. Смотреть предыдущее сообщение. Но не доходит почему не было проблемы с тем описанием до этого? Другие разряды описанные как
Код:
vlamp0 : out STD_LOGIC_VECTOR (6 downto 0);
Нормально присваивалась эта константа с неправильным размером и всё отображалось правильно.
Код:
vlamp0 <= not digit_0 when "0000",
Правильно, пока не начал добавлять (6 downto..). Пока не доходит мне этот нюанс. Если бы оно сразу выругалось или отображало бы не правильно - сразу заметил бы что пропустил в описании. Впредь буду осторожнее с этими вещами.
Я так понимаю, в том чтоб объявить вектор размерностью 1 единицу, никакой крамолы нет. А вот когда из этого вектора пытаются получить, с добавкой, вектор больше чем добавка+размерность вектора - все и рушится.
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Всем привет. Столкнулся со следующей проблемой. Все условия в проекте выполняются, я не понимаю как так происходит. Но почему то все ифы открыты, из за чего такое может быть?
_________________ "Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Мой телепатор говорит что ошибки идут со строки 13.
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Здравствуйте коллеги. Такая тут история в общем... Надо на плисине сделать проектик. Вообщем то не сложный, но и времени мало да и зачем самому что то делать когда в ообщем... "Всё украдено до нас" (с). Так вот, по поводу "украдено" если бы я, разумеется чисто теоретически, захотел бы... как это - воспользоваться ниосом который ограничен временем, в полной мере без покупки лицензии Лазил тут по великому и ужасному rutreker но ничего не вышло, может кто поделится опытом в экспроприации. Да здравствует революция мирового пролитариата
_________________ "Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
_________________ "Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
как это - воспользоваться ниосом который ограничен временем, в полной мере без покупки лицензии
самый простой путь - в файле sys_cpt.dll заменяются 3 байта. Для каждой версии - свои. Далее берется лицензионный файл и в нем после hostid= записывается МАС-адрес сетевой карты. Шаблон лицензионного файла или генератор можно найти на рутрекере, адреса по которым нужно менять байты - на электрониксе. Если нужно подробнее - в личку.
Народ, если кому то нужны небрендовые и брендовые стенды с плис, мк и тд , недорого - пишите в личку, договоримся. Помимо этого есть еще масса других товаров, так же почти за даром!!!
_________________ "Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов
Последний раз редактировалось dimitriy91 Вт авг 12, 2014 16:28:31, всего редактировалось 1 раз.
как это - воспользоваться ниосом который ограничен временем, в полной мере без покупки лицензии
самый простой путь - в файле sys_cpt.dll заменяются 3 байта. Для каждой версии - свои. Далее берется лицензионный файл и в нем после hostid= записывается МАС-адрес сетевой карты. Шаблон лицензионного файла или генератор можно найти на рутрекере, адреса по которым нужно менять байты - на электрониксе. Если нужно подробнее - в личку.
Спасибо, разобрлся уже несколько месяцев назад сам. Впрочем всё было на поверхности, стоило просто потратить час времени. PS Надо признать что даже не самый навороченый ниос, куда проворнее басяцкого! Впрочем чего ещё от капиталистов ожидать
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения