Если вам нужно подождать несколько сигнал ничего не делает в это время (purpouse в то время цикла), вы могли бы реализовать государственной машины, которые находятся в состоянии, пока некоторые входные изменения и после изменения идут в следующем состоянии.
Я полагаю, что вы должны попытаться понять, что это значит итерационных циклов в синтезе. В большинстве случаев, они являются средством для определения параллельных структур, логика внутри повторяется блок создается п раз. Чтобы быть синтезируемого, счетчик цикла должно быть конечным, и он должен быть однозначно определен во время компиляции. Некоторое время цикла, это prerequisition не обязательно встречались, но если он выполняется, эквивалентный цикл может быть использован, как хорошо.
Да "а", "за" и "повторить" являются синтезируемого в некоторых инструментов (они работают в Xilinx XST), однако синтезатор обычно ограничивает циклы для константы известны во время компиляции, как описано МКО. Помните, что это во время компиляции циклы, которые создают множество копий логики. Они не во время выполнения петель, которые делают вещи последовательно, как программное обеспечение. Для Xilinx примеры этих циклов, см. раздел "XST поведенческих Verilog Языковая поддержка" в Руководстве пользователя Xilinx XST. http://toolbox.xilinx.com/docsan/xilinx10/books/docs/xst/xst.pdf
[Цитата = МКО] Если синтезируемого, счетчик цикла должно быть конечным, и он должен быть однозначно определен во время компиляции. [/QUOTE] Как это сделать? Разве это не достаточно, чтобы использовать переменную цикла, который уже объявлен с фиксированным размером известно? .. хотелось рег размером 3 на пример! .. Вот пример того, что я имею в виду: [код] обл [2:0] индекс, всегда @ (*), если начать (и у) для начала (индекс = 0; индекс
Вы привели пример, где число итераций, очевидно, не может быть однозначно определен во время компиляции. Это не вопрос об использовании определенного типа с диапазоном для переменной цикла. Цикл переменная целого типа и имеет 2 ^ 32 Диапазон компилятор внутренне. Я не знаю, почему предел компиляторы итерация 4000 достигается в этом случае. Либо N не определено или компилятор не нравится 3-битной переменной в этом месте. С четко определены N, цикл должен работать без проблем.
[Цитата = МКО] Вы представили, например, где число итераций, очевидно, не может быть однозначно определен во время компиляции. Это не вопрос об использовании определенного типа с диапазоном для переменной цикла. Цикл переменная целого типа и имеет 2 ^ 32 Диапазон компилятор внутренне. Я не знаю, почему предел компиляторы итерация 4000 достигается в этом случае. Либо N не определено или компилятор не нравится 3-битной переменной в этом месте. С четко определены N, цикл должен работать без проблем. [/ Цитата] Я так не думаю .. Я фактически заменил (N) с постоянным (например, 7) .. Тем не менее, это дало тот же результат .. Проблема не в (N) .. А что касается итераций '4000 'достиг .. даже когда я изменить его на '4000 ', он выдает ошибку на 8000 .. и так далее ..
Привет Omara007, логика очень странно для меня: U есть условие: если (и у) -> это означает, что если все биты в У-регистра один, то только условие будет справедливо и и есть цикл, в котором у попытаться сохранить позиции бита в регистре, чтобы называть "я" и для этой цели и, если (у [индекс]) состоянии. если (у [индекс]) условие может быть удалена, ее избыточным, если иначе, если вы хотите использовать только часть реестра "у" ширину. С уважением, dcreddy1980
Я думаю, что код в omara007 пытается найти "у" на должность из самых значительных '1 'бит, как приоритет кодер, однако "если (и у)," кажется подозрительным. Также следите за индексом "
[Цитата = dcreddy1980] Привет Omara007, логика очень странно для меня: U есть условие: если (и у) -> это означает, что если все биты в У-регистра один, то только условие будет справедливо и U имеют цикла, в которой и пытаются сохранить позиции бита в регистре, чтобы называть "я" и для этой цели и, если (у [индекс]) состоянии. если (у [индекс]) условие может быть удалена, ее избыточным, если иначе, если вы хотите использовать только часть реестра "у" ширину. С уважением, dcreddy1980 [/ цитата] жаль .. состояние должно было быть (~ & Y) .. Ошибка происходит от того, что я не использую эти имена сигналов, и мне пришлось вручную менять их, чтобы сделать их читаемыми.
"в то время как петля является более удобным, но я знаю, по крайней мере один инструмент синтеза, что он не поддерживает это время (я пробовал) для этого использования insted цикла
[Цитата = swapnil_vlsi] 'в то время как петля является более удобным, но я знаю, по крайней мере один инструмент синтеза, что он не поддерживает это время (я пробовал) для этого используют insted цикла [/ цитата], в которой синтез инструмент вы попробовать?
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.