Публикации по теме 'hdl'


Уровни абстракции в Verilog
Язык Verilog позволяет разрабатывать модуль в нескольких стилях кодирования. В зависимости от потребностей проекта, внутреннее устройство каждого модуля может быть определено на четырех уровнях абстракции. Независимо от уровня внутренней абстракции модуль будет вести себя точно так же, как и внешняя среда. Ниже приведены четыре различных уровня абстракции, которые можно описать четырьмя различными стилями кодирования языка Verilog: Поведенческий или алгоритмический уровень Уровень..

События Verilog и задержка
Содержание Задержки События Задержки Typical uses of delay #20; // delay 20 time units #10 <statement> // the statement execution takes 10 time units // (blocking, next statement waits the 10 time units) #10 var <= expression; // non blocking statement, var takes 10 time units // to update but next statement proceeds with no delay #(12.5 : 15 : 18.2) <statement> // minimum : typical : maximum time units..

Вопросы по теме 'hdl'

Могут ли тестовые стенды Verilog работать с настоящими часами?
Я написал счетчик на Verilog, а затем тестбенч, чтобы протестировать его. Мой тестовый стенд дает правильные результаты, поэтому мой код в порядке. Но это дает результат долгое время моментально. Можно ли взять результат с реальным временем. Я...
1335 просмотров
schedule 17.01.2023

BCD Adder в Verilog
Я пытаюсь написать сумматор BCD в Verilog, но у меня проблемы с одним из модулей. В частности, сумматор, который берет две цифры BCD и складывает их. Итак, идея в том, что если сумма двух цифр меньше или равна девяти, то это правильно. Однако, если...
24025 просмотров
schedule 01.06.2023

Как реализовать (псевдо) аппаратный генератор случайных чисел
Как реализовать аппаратный генератор случайных чисел на HDL (verilog)? Какие варианты необходимо рассмотреть? Этот вопрос соответствует формату самостоятельного ответа . Дополнительные ответы и обновления приветствуются.
36927 просмотров
schedule 31.01.2023

Ожидание VHDL на множественном сигнале
signal a:bit:='1'; signal b:bit:='0'; signal c:bit:='0'; begin process variable d:bit:='0'; begin if (a='1')or(b='0') then a <= inertial not d after 1ns; else a<=inertial not c after 1.5ns; end if; d := a and b; b <=...
2091 просмотров
schedule 27.10.2022

Недопустимая ссылка Ошибка
Я пишу счетчик пульсаций, используя D-Flip Flops. Однако следующий код дает мне Illegal reference error внутри блока initial для q2,q3,q4 variables. Почему это? module RCounter; reg d,d2,d3,d4,clk; wire q,q2,q3,q4; DFlipFlop a(d,q,clk);...
9678 просмотров
schedule 18.03.2023

Verilog: определение значений параметров в операторе case?
Мне нужно определить значения параметров, которые зависят от некоторых других входных данных. Я пробовал следующим образом, но он не работает. любые другие альтернативные методы? module (...) ... input sel ; .. case (sel) 0: parameter data1...
2910 просмотров
schedule 02.04.2023

неинициализированный входной сигнал isim
Я застрял в следующей ситуации Я разрабатываю проект vhdl для uart. Есть два компонента, а именно uart_rx.vhd и uart_tx.vhd. Я полагаю, что uart_tx изначально переходит в состояние Mark после получения значения «0», чтобы сигнализировать:...
1439 просмотров
schedule 28.04.2023

Симулятор показывает неверный ввод
Я написал тестовую программу для программы на verilog. Странная проблема заключается в том, что симулятор показывает ввод, совершенно отличный от того, который я предоставил в качестве ввода. Таким образом, выход также влияет. Почему это...
162 просмотров
schedule 11.07.2022

Параметризованная ширина нетто в Verilog
Возможно ли что-то подобное? parameter width; wire[width-1] a_net = (width)'b0; Мне в основном нужна переменная для управления шириной правой стороны. Я планирую использовать это на испытательном стенде, где мне просто нужно изменить...
2771 просмотров
schedule 09.03.2023

Преобразование из numeric_std без знака в std_logic_vector в vhdl
У меня есть вопрос, связанный с преобразованием из numeric_std в std_logic_vector. Я использую код фильтра скользящего среднего, который я видел в Интернете, и фильтрую свои значения АЦП, чтобы стабилизировать значения. Код пакета фильтра:...
26079 просмотров
schedule 27.07.2022

Ограничения размещения Verilog с операторами генерации
Я пытаюсь сгенерировать массив защелок, которые размещаются рядом друг с другом с помощью оператора Generate. Я пытался использовать для этого ограничение Xilinx «RLOC», но мне это не удалось. Приведенный ниже код не будет успешно реализован, но...
793 просмотров
schedule 07.06.2024

Quartus II - Verilog Flip Flop ModelSim Error
Я пишу простой модуль триггера в Verilog, и я пытаюсь написать модуль верхнего уровня для создания экземпляра моего модуля триггера и моделирования его в ModelSim. Вот мой код ниже, module flipflop(clck,D,Q); input clck,D; output Q;...
795 просмотров
schedule 17.12.2022

Verilog: значение (я) не соответствует диапазону массива, несоответствие моделирования
Насколько я могу судить, следующий код синтезирует и моделирует правильно, но XST по-прежнему выдает следующее предупреждение: value(s) does not match array range, simulation mismatch. Я что-то упускаю? Используемый инструмент: Xilinx ISE...
1261 просмотров
schedule 20.11.2022

Поведенческие алгоритмы (GCD) в Verilog - возможно?
Я хочу написать модуль для вычислений GCD, используя расширенный алгоритм Евклида. Но главная проблема в том, что я совершенно не знаю, как это сделать, не дойдя до самого нижнего (RTL) уровня. Я имею в виду, что автомат будет иметь три состояния:...
5318 просмотров
schedule 12.12.2022

Зачем использовать два триггера вместо одного в этом коде Verilog HDL?
Этот код представляет собой средство защиты от кнопок. Но я не могу понять, почему там два шлепанца: reg PB_sync_0; always @(posedge clk) PB_sync_0 <= ~PB; // invert PB to make PB_sync_0 active high reg PB_sync_1; always @(posedge clk)...
2754 просмотров
schedule 07.07.2023

Перепишите код, используя оператор генерации (Verilog HDL)
Я пытаюсь переписать этот код, используя операторы генерации (Verilog HDL): integer j; always@(posedge cpu_clk) begin // ACCU_RST if(RAM[3][7]) begin RAM[3][7] <= 1'b0; for(j = 10; j <= 15; j = j + 1)...
511 просмотров
schedule 28.02.2023

Как исправить ошибку [ICPSD] Неверная комбинация драйверов?
Я пытаюсь отлаживать свой код, показанный ниже. Я новичок в SystemVerilog и, надеюсь, смогу извлечь из этого уроки. Дайте мне знать о любых предложениях. ** Ошибки, которые я получаю: Error-[ICPSD] Invalid combination of drivers Variable...
4503 просмотров
schedule 11.04.2023

Реконфигурируемый экземпляр памяти в verilog с DATA-IN и DATA-OUT передается как параметр
Как я могу сделать модуль памяти, в котором ширина шины DATA передается в качестве параметра для каждого экземпляра, и мой дизайн перенастраивается в соответствии с параметром? Например, предположим, что у меня есть память с байтовой адресацией, а...
470 просмотров
schedule 24.01.2023

Мультиплексор на VHDL
Я попытался создать мультиплексор: LIBRARY ieee; USE ieee.std_logic_1164.all; -- Entity Declaration ENTITY multiplekser IS -- {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE! PORT ( U : IN STD_LOGIC_VECTOR(2 downto 0); V : IN STD_LOGIC_VECTOR(2...
954 просмотров
schedule 18.01.2024

Выражение за пределами MATLAB с приложением HDL coder
Я пытаюсь получить код VHDL, соответствующий моему моделированию в MATLAB с помощью приложения кодировщика HDL, но я получаю первую ошибку в строке 25, когда я создаю код MATLAB в приложении кодировщика HDL: Выражение индекса выходит за...
223 просмотров
schedule 21.05.2022