Попробывал тут наваять (в первый раз) counter (lpm_counter) для Альтеры, используя в Квартусе (v8.1) его визард. Логика работы счетчика: на вход тактовая частота, на выход одиночные импульсы с заданной периодичностью. И был неприятно удивлен, что на выходе помимо моих импульсов присутствуют еще глитчи. Типа альтеровский код (ahdl) и нате... с глитчами. Глитчи короткие ~1-2 нсек по рисунку симулятора, но к примеру DFF триггер их пропускает и обычная защелка на его основе работает непредсказуемо. Нашел лекарство (для данного случая) - применил DFF-триггер, тактируемый тактовой частотой, что и counter. Поскольку D-триггер переключается только во время положительного фронта тактовой, а глитчи появляются в другое время - на выходе триггера присутствуют только полезные импульсы. Вот такой цифровой фильтр
угу - в плисинах гонки сплошь и рядом - два рядом расположенных сигнала в реальности могут идти по кристаллу совершенно разными путями и разница по времени их прихода может сильно отличаться - поэтому только тактирование спасает - на всех этапах...
Я тут за главного - если что шлите мыло на me собака shaos точка net
А я научился "безгличному" мышлению в Квартусе. После реальной логики это было не легко, но схемным редактором уже так рисую, что в том же симуляторе все без иголок (все никак чистый VHDL не осилю...).
HardWareMan wrote:А я научился "безгличному" мышлению в Квартусе. После реальной логики это было не легко, но схемным редактором уже так рисую, что в том же симуляторе все без иголок...
научи и нас
Я тут за главного - если что шлите мыло на me собака shaos точка net
HardWareMan wrote:...все никак чистый VHDL не осилю...
осиливай...
Я в проекте "Специалист_МХ_FPGA" совместил схемный ввод (схемки от тебя) и vhdl программу. Получается просто. Описываешь в vhdl входы/выходы схемного блока, а потом заносишь значения входов/выходов, как в вызове процедуры в языках высокого уровня.
HardWareMan wrote:А я научился "безгличному" мышлению в Квартусе. После реальной логики это было не легко, но схемным редактором уже так рисую, что в том же симуляторе все без иголок...
научи и нас
Основное правило - схема должна быть тактируема. Т.е., прощай асинхронный сброс счетчика, например. Ну и т.д.
HardWareMan wrote:...все никак чистый VHDL не осилю...
осиливай...
Я в проекте "Специалист_МХ_FPGA" совместил схемный ввод (схемки от тебя) и vhdl программу. Получается просто. Описываешь в vhdl входы/выходы схемного блока, а потом заносишь значения входов/выходов, как в вызове процедуры в языках высокого уровня.
При случае попробую твою фитчу совмещения картинок и текста
Shaos wrote:угу - в плисинах гонки сплошь и рядом - два рядом расположенных сигнала в реальности могут идти по кристаллу совершенно разными путями и разница по времени их прихода может сильно отличаться - поэтому только тактирование спасает - на всех этапах...
Да, я уже понял, что без тактирования схемы далеко не уедешь - ее работа будет зависеть от расположения звезд на небе.
HardWareMan wrote:А я научился "безгличному" мышлению в Квартусе. После реальной логики это было не легко, но схемным редактором уже так рисую, что в том же симуляторе все без иголок...
научи и нас
Основное правило - схема должна быть тактируема. Т.е., прощай асинхронный сброс счетчика, например. Ну и т.д.