о сброс

T

tarkyss

Guest
для комбинации модуль последовательного cirtuit, Verilog код, как показано ниже в порядке? есть ли проблемы? всегда @ (сброс или или б)
 
Привет tarkyss, зачем использовать сигнал сброса в комбинации модуля? Если вы используете сброса как разрешающий сигнал, можно использовать другую Сингал для подключения этого модуля.
 
С RTL кодирования точек зрения, это нормально. Но если вы имеете в виду это хорошей практикой или нет, это зависит в свой проект и то, что вы хотите сделать со сбросом в комбинационной логики.
 
потому что счетчик необходимы для подсчета импульсов сигнала, так что я должна дать начальное значение до счета. другой вопрос я боюсь, что счетчик будет introdue защелки. но если не использовать счетчик, как реализовать Funtion, которые считают импульс сигнала.
 
Вот основные стойки. [Код] модуль верхнего (CLK, сброс, счет); вход CLK, сброс, выход рег [7:0] подсчета; всегда @ (posedge CLK или posedge сброса) начинать если (сброс) кол
 
echo47, если я могу реализовать его с часами, я не стал бы просить о помощи здесь
 
Вы вопрос слишком неясными. Пожалуйста, дать больше информации. "Всегда @ (сброс или или б)" является допустимым способом начать блок Verilog.
 
нет часов т вводится ш выход каждого п (п может быть 1 2 4 т становится высокий уровень, до выхода высоком уровне, ширина же самое и с т всегда @ (сброс или т), если (Reset) начинают счетчик = п, т = 1'b0, конец еще начинать, если (т) начинают счетчик = счетчик + 1, если (счетчик == п) W = 1'b1, конец Ьедт т = 1'b0, если (счетчик == Т ) счетчик = п; конец конец сброса глобального сигнала ищущих, положить его в списке всегда с другими нормальный сигнал, есть ли проблема, если я не хочу, чтобы ввести защелка, как я могу код спасибо?
 
Не имея защелку, как вы можете сохранить значение счетчика? Я думаю, что защелка является единственным способом и вы можете использовать сброс в блоке всегда.
 
если использовать сброса, как выше, сделать это может вызвать сигнал сброса не ясно?
 
Что у подразумеваете под неясным сброс? Когда вы делаете asyc дизайном и использованием защелку, вы должны убедиться, что у вас нет какой-либо сбоя или перехода, когда ворота защелка открыта, если сброс и другие сигналы стабильны, то вы можете использовать их таким образом.
 
"Т" входные данные выглядят как часы. Вы, кажется, пытается использовать асинхронные синтаксис, чтобы сделать главным образом синхронных работу. Это может дать различные неожиданные проблемы. Лучше использовать синхронные логику там, где это возможно. Я не уверен, я понимаю, желаемое поведение, но как насчет этого? [Код] модуль верхнего (сброс, т, п, ш), входной т, сброс; вход [3:0] п / / любое значение от 1 до 9 рег [3:0] счетчика; выход ш; / / вывод один импульс ширины т для каждого т входных импульсов назначить до = ~ счетчика [3] и т; всегда @ (negedge т или posedge сброса) начинать если (сброс) счетчика
 
[Цитата = echo47] [COLOR = красный] спасибо [/ цвет] "т" вход выглядит как часы. Вы, кажется, пытается использовать асинхронные синтаксис, чтобы сделать главным образом синхронных работу. Это может дать различные неожиданные проблемы. [COLOR = красный], какая проблема? например? [/ цвет] Лучше использовать синхронные логику там, где это возможно. Я не уверен, я понимаю, желаемое поведение, но как насчет этого? [COLOR = оранжевый] да [/ цвет] [код] модуль верхнего (сброс, т, п, ш), входной т, сброс; вход [3:0] п / / любое значение от 1 до 9 рег [3: 0] счетчика; выход ш; / / вывод один импульс ширины т для каждого т входных импульсов назначить до = ~ счетчика [3] и т; всегда @ (negedge т или posedge сброса) начинать если (сброс) счетчика
 
Я думаю, что название "т" бросает вас из колеи. Если вы просто переименовать "т" на "часах", то вы увидите, что это обычные синхронные проекта, за исключением И ворота "до" выхода. (Если я неправильно понял требования к проекту.) Если вы попытаетесь реализовать двоичный счетчик с помощью асинхронных логике, вы должны быть очень осторожны, иначе синтезатор будет генерировать риски и рас, которые вызывают проблемы учета в целевом устройстве. Серый счетчик поможет, но все же это неуклюжая подход. Да, вы хотите использовать синтезатор реального триггеров подключены к низкой косой часы распределительной сети (вероятно, под названием "Т").
 
я уверен, что т не часы, период не зафиксировано, время между двумя высокий импульс не зафиксировано
 
Это прекрасно. Часы, которая изменяется в период по-прежнему часами. Синхронные и асинхронные логика логикой не волнует, что период, если он превышает скорость чипа.
 
Вы правы, что код эха синтезирует в триггер. Но дело в том, что Есть нет других входных сигналов, которые являются асинхронные т относительно (за исключением сброса которое было обработано), триггер выполняет идентично защелки. Конечно, Вы можете альтернативно код замка. [Код] модуль верхнего (сброс, т, п, ш), входной т, сброс; вход [3:0] п / / любое значение от 1 до 9 рег [3:0] счетчика; выход ш; / / вывод один импульс ширины т для каждого т входных импульсов назначить до = ~ счетчика [3] и т; всегда @ (т или сброса) начинать если (сброс) счетчика
 
мат - это должно быть "еще, если (Т)", потому что я изначально использовались negedge. Это отлично работает в поведенческих моделирования, но после симуляции маршрута (Xilinx Virtex-II) является беспорядок, вероятно, связано с Clock Skew проблем. Я вижу, счетчик битов колеблющегося со скоростью около 1 ГГц. Места и маршрута программное обеспечение испускаемого различными предупреждениями, рассказывая мне, что я пытался делать глупости. Знаете ли вы, если Есть способы, чтобы сделать эту работу? Просто академический вопрос - я, как правило, никогда не пытайтесь это. ;) Подобные обсуждения в другом потоке: http://www.edaboard.com/viewtopic.php?p=490556
 

Welcome to EDABoard.com

Sponsor

Back
Top