Например TDA7294

Форум РадиоКот • Просмотр темы - е..нутый компилятор в Quartus
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 06:53:51

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: е..нутый компилятор в Quartus
СообщениеДобавлено: Сб май 19, 2018 16:55:41 
Потрогал лапой паяльник

Зарегистрирован: Пт фев 08, 2008 13:46:03
Сообщений: 327
Откуда: Воронеж
Рейтинг сообщения: 0
Я б...ть чувствую что скоро буду схемы рисовать сам, а не верилог использовать.
Есть такая проблема, вот первое исполнение кода:
Код:
module TEST_COUNTER(
       input wire test_signal_0,
       output reg [7:0] time_count_1 = 0
);
   
   always @ (posedge test_signal_0)
   begin
     time_count_1 <= 123;
   end

endmodule

Здесь хочется, что бы при подаче положительного фронта сигнала test_signal_0 установилось значение на массиве выходных пинов = 123, при этом задаю начальное значение регистра time_count_1 = 0.
В итоге получается такая х...ня:

Изображение

Как видно из кода, результат должен быть: начальное значение регистра time_count_1 = 0 и должно безвозвратно устанавливаться в 123 по положительному фронту сигнала test_signal_0. Но видимо синтезатор решил забить на желания пользователя и сгенерировать х..ню.

Второй вариант кода:

Код:
module TEST_COUNTER(
       input wire test_signal_0,
       output reg [7:0] time_count_1 = 0
);
   
   always @ (posedge test_signal_0)
   begin
     time_count_1 <= time_count_1 + 123;
   end

endmodule

Изображение

А здесь всё чётко! Но также должно работать и в первом варианте.
В чём может быть проблема???


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: е..нутый компилятор в Quartus
СообщениеДобавлено: Сб май 19, 2018 17:53:18 
Вымогатель припоя

Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Пт янв 30, 2009 14:50:35
Сообщений: 625
Откуда: Солнечногорск
Рейтинг сообщения: 0
Компилятор увидел, что значение остаётся постоянным, и соптимизировал его, не учтя, что изначально там было установлено другое значение. Ну а второй раз Вы определили счётчик, чьё значение будет изменяться с каждым импульсом, посему компилятор и сделал, что от него хотели. Но, вероятно, это ошибка в компиляторе (я Верилог не использую, поэтому не могу с определённостью сказать, что его стандарт говорит по сему поводу, но вряд ли он допускает подобную оптимизацию).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: е..нутый компилятор в Quartus
СообщениеДобавлено: Сб май 19, 2018 18:50:33 
Открыл глаза

Карма: 1
Рейтинг сообщений: 19
Зарегистрирован: Вс сен 03, 2017 19:43:57
Сообщений: 42
Рейтинг сообщения: 0
Может добавить в модуль сигнал reset и по нему устанавливать начальные значения регистров (да вроде это является правилом хорошего тона).
На различных форумах довольно много обсуждают начальную инициализацию регистров, почитайте. Данная процедура сильно зависит от производителя (altera, xilinx, actel).


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: е..нутый компилятор в Quartus
СообщениеДобавлено: Пт май 25, 2018 19:08:20 
Первый раз сказал Мяу!

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Сб окт 01, 2016 13:03:46
Сообщений: 24
Рейтинг сообщения: 0
Всегда используйте сигнал сброса в схемах! Далее используйте констркцию "if ... else".
Совет на будущее: в список чувствительности вносите ТОЛЬКО тактовый сигнал (clk) и сингал сброса (если таковой используется асинхронно).


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: е..нутый компилятор в Quartus
СообщениеДобавлено: Пн окт 01, 2018 16:17:18 
Прорезались зубы

Зарегистрирован: Пн окт 21, 2013 07:33:45
Сообщений: 210
Рейтинг сообщения: 0
ощущение такое, что симулятор в начале фронт генерит.

я такую конструкцию (output reg [7:0] time_count_1) не использую.

вот так работает:
module TEST_COUNTER(
input wire test_signal_0,
output reg [7:0] time_count_1
);
initial time_count_1=0;
always @ (posedge test_signal_0)
begin
time_count_1 <= 123;
end

endmodule

а вообще инициализировать по ресету желательно

_________________
Шоб я польку танцевал..


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y