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


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

Начало программирования FPGA с Verilog
В моих предыдущих сообщениях я представил программируемые логические устройства (PLD) и FPGA, которые являются подкатегорией PLD. Здесь я собираюсь показать вам, как должна быть реализована аппаратная реализация, на нескольких базовых примерах с кодами, которые я сделал. В качестве резюме предыдущих сообщений, программируемые вентильные матрицы — это программируемое логическое устройство, которое используется для создания аппаратных средств с помощью программирования. Программное..

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

Что означают фигурные скобки в Verilog?
Мне трудно понять следующий синтаксис в Verilog: input [15:0] a; // 16-bit input output [31:0] result; // 32-bit output assign result = {{16{a[15]}}, {a[15:0]}}; Я знаю, что оператор assign подключает что-то к шине result , используя...
103919 просмотров
schedule 31.07.2022

Как объявить и использовать массивы байтов 1D и 2D в Verilog?
Как объявить и использовать массивы байтов 1D и 2D в Verilog? например. как сделать что-то вроде byte a_2D[3][3]; byte a_1D[3]; // using 1D for (int i=0; i< 3; i++) { a_1D[i] = (byte)i; } // using 2D for (int i=0; i< 3; i++) {...
204715 просмотров
schedule 19.08.2023

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

Не могу понять ошибку в System Verilog
Я пытался скомпилировать код module counter( input clk, input upSignal, input downSignal, output [7:0] count ); always_ff @(posedge clk) begin if (upSignal) count <= count + 1; else...
3809 просмотров
schedule 20.06.2023

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

Вычисление CRC-16 в IEEE 802.11b
Я хотел бы понять вычисление CRC в поле заголовка IEEE 802.11b PHY. Я читал в литературе, что используется CRC-16 и дополнение 1 к напоминанию (e SIGNAL, SERVICE и LENGTH by Generator Polynomial) Но я хочу понять, учитывая битовый поток, как...
1252 просмотров
schedule 19.11.2022

Как написать тестовые наборы Verilog на Perl?
У меня есть простой код Verilog и тестовый стенд, для которого я должен пройти тестовые случаи, используя Perl. Мне нужно написать Perl-скрипт тестовых случаев, который будет получать случайный ввод. Когда я запускаю сценарий Perl, он запрашивает...
2234 просмотров
schedule 23.01.2024

сгенерировать оператор: verilog
Мне нужно объявить регистр внутри оператора генерации для хранения некоторых временных значений, для использования в экземплярах. у меня есть generate for(i=0; i< N; i=i+1) begin: i_loop Inst_file u(S1(i),P1(i),S(i),P(i)); /* S1...
11572 просмотров
schedule 21.05.2022

Как найти несоответствие спецификации, если и специалисты RTL, и инженеры по верификации упускают определенную функцию спецификации?
У меня есть несколько вопросов относительно проверки IP. Предположим, что конкретный дизайн/функциональность из спецификации IP отсутствует как в RTL, так и в плане проверки (точки покрытия), как бы вы определили эту ошибку? Поскольку он не был...
105 просмотров
schedule 01.08.2023

Лучший способ кодирования RAM в Verilog
Какой код лучше писать в ОЗУ? присвоение data_out внутри always блока: module memory( output reg [7:0] data_out, input [7:0] address, input [7:0] data_in, input write_enable, input clk ); reg [7:0] memory...
30487 просмотров
schedule 01.10.2022

Как определить модуль с параметром в Verilog?
Я хочу определить модуль add , у которого есть параметр, но мое объявление нового экземпляра не работает. Я хочу определить экземпляр этого модуля: module add #(parameter wd=1) (input wire [wd-1:0] a,b, output wire [wd-1:0] o); assign o =...
13808 просмотров
schedule 20.12.2022

Какой тип данных в Verilog эквивалентен переменной в VHDL?
Как написать эквивалентный код Verilog для приведенного ниже кода VHDL? Я показываю свой код Verilog за кодом VHDL. Код Verilog компилируется, но aux недействителен в течение всей симуляции. VHDL: (classic_multiplier_parameters.vhd определяет m =...
5289 просмотров
schedule 09.11.2022

Печать целочисленного значения со знаком, хранящегося в переменной типа reg
Как напечатать целочисленное значение со знаком, хранящееся в 8-битном регистре, объявленном как: reg [7:0] acc; С использованием: $display("acc : %d", acc) Он печатает беззнаковое значение. Какой правильный синтаксис для функции...
17312 просмотров
schedule 30.08.2022

Поиск и замена кода Verilog с помощью Perl
У меня есть несколько выражений в файле: e = a & b; f = e | c; d = ~f; Мне нужно преобразовать эти выражения в составное выражение, подобное этому: d = ~ ((a & b) | c) Как я могу сделать это в Perl. Существуют ли...
791 просмотров
schedule 12.06.2022

Verilog, FPGA, использование унифицированного регистра
У меня есть вопрос о том, что мне кажется странным в поведении контроллера AGC/SPI, над которым я работаю. Это сделано в Verilog для Xilinx Spartan 3e FPGA. Контроллер представляет собой FSM, который полагается на внешние входы для запуска....
2372 просмотров
schedule 19.12.2022

Назначение регистра Verilog части другого регистра
Я использую Verilog с modelSim и получаю следующие ошибки, когда пытаюсь присвоить reg-переменные разным частям другой reg-переменной: ** Error: Range width must be greater than zero. ** Error: Range width must be constant expression. вот...
3725 просмотров
schedule 12.10.2022

Альтернатива поиску по упакованному+распакованному массиву в systemverilog
У меня есть эта странная ситуация, когда я сейчас делаю это: if (!this.randomize(delay) with {delay inside {strm};}) ...... куда rand bit [2:0] delay; bit [15:0] strm [bit [15:0]]; Теперь я хочу, чтобы эта задержка шла по кругу от...
958 просмотров

Verilog: параметр модуля, код моделирует, но не синтезирует
Я столкнулся с несколькими проблемами при синтезе некоторого кода Verilog, хотя симуляции, похоже, в порядке. В частности, модуль определяется следующим образом. module nexys2_sevensegment( input clk, input [NUM_CHARS*4-1: 0] disp_chars,...
2169 просмотров
schedule 13.09.2022

О задержке триггера Verilog
Я хочу буферизовать однобитовый сигнал «сделано» с двумя однобитными триггерами. В моем дизайне сигнал готовности будет возрастать только на один такт. Поэтому я написал следующий код. //first level buffer done signal for one cycle to get...
1873 просмотров
schedule 31.05.2023

Провод высокий, если ровно один высокий в Verilog
Если у меня есть массив из 9 проводов, есть ли простой способ сделать новый провод с высоким уровнем, если только один из 9 имеет высокий уровень? я знаю, что могу сделать wire[8:0] data; wire exactlyOneActive; assign exactlyOneActive = (data[0]...
421 просмотров
schedule 06.04.2024