Публикации по теме '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 просмотров
schedule
14.08.2022
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