Описание тега verilog
Verilog - это язык описания оборудования (HDL), используемый для моделирования электронных систем. Чаще всего он используется при проектировании, проверке и реализации микросхем цифровой логики.
1
ответ
Кодирование простого калькулятора на уровне ворот Verilog
Привет, я студент EE на курсе Digital Systems, и у меня есть задание написать код калькулятора в Verilog. Я не должен использовать поведенческие коды, кроме * и / и у меня есть 3 вопроса относительно моего кода. Мой код выглядит следующим образом. m…
30 апр '17 в 02:55
3
ответа
109-битный компаратор дерева с генерацией и для цикла
Я пытаюсь написать код Verilog для 109-битного компаратора дерева, но я все еще новичок в цикле генерации. Пока я написал некоторый код, но я получаю некоторые ошибки. Кроме того, я не уверен, могу ли я использовать двумерные массивы для сигналов g …
23 июл '17 в 06:18
1
ответ
Замените двухпортовую ОЗУ двумя однопортовыми ОЗУ для процессора J1 Forth на ПЛИС Altera
Замечательный процессор J1 Forth ( исходный код Verilog) предназначен для работы на Xilinx FPGA. Я пытался перенести его на ПЛИС Altera Cyclone II. У меня проблемы с настройкой мегафункции двухпортовой оперативной памяти Altera. Судя по коду Verilog…
14 окт '13 в 20:02
1
ответ
Икар не знает, как анализировать массивы localparam?
Я использую v10 Icarus Verilog, Windows 8.1 и у меня возникают проблемы при компиляции 1D-массивов, например: localparam [15:0] A[0:5] = { 0, 10920, 21840, 32760, 43680, 54600 }; или 2D массив, например: localparam [1:0] B[0:5][0:2] = { {2'b00, 2'b1…
02 июн '17 в 09:31
4
ответа
Влияет ли задержка времени в блоке последовательной логической схемы на синтез или место или результат маршрута?
Я использую Xilinx ISE в качестве IDE. Если я добавлю задержку 100 пс при каждом назначении в всегда (Verilog)/ процессе (VHDL) с чувствительным списком, только часы и сброс. Как это. always@(posedge clk) if(rst) a <= #100 'd0; else a <= #100 …
16 авг '17 в 03:59
1
ответ
Как скомпилировать и запустить программу Verilog, которая вызывает функцию C?
Я не пытаюсь использовать вызов DPI, а просто программу Verilog, которая внутренне использует свой PLI для вызова функции, написанной на языке Си. Я не знаю о статических ссылках. Я использую edaplayground. Может кто-нибудь сказать мне, какой симуля…
16 авг '15 в 00:47
2
ответа
Очень запутанная ошибка без указания причины
Может кто-нибудь сказать мне, почему я получаю эту ошибку? Я все еще очень плохо знаком с Verilog, так что прошу прощения за любые очевидные недостатки. Спасибо! module func(clk,d,out); input [3:0] d; input clk; reg [3:0] q[1:0]; output [3:0] out; a…
26 май '13 в 07:02
2
ответа
В чем разница между = и <= в verilog?
Я новичок здесь, как в Verilog... Я хочу спросить о разнице между = и <= в этой программе? а как распечатать значение данных? module always_example(); reg clk,reset,enable,q_in,data; always @ (posedge clk) if (reset) begin data <= 0; end else if …
16 фев '16 в 14:40
2
ответа
Verilog: реализация с использованием примитивных модулей против побитовых операторов
В учебнике, который я читаю, реализованы 1-битные сумматоры с использованием встроенных примитивных модулей: module yAdder1(z, cout, a, b, cin); output[0:0] z, cout; input[0:0] a, b, cin; wire[0:0] tmp, outL, outR; xor left_xor(tmp, a, b); xor right…
30 июн '17 в 20:58
2
ответа
Назначение идентификационного номера или кода для модуля Verilog
Я разработал модуль (A) в Verilog, и мне нужно создать его экземпляр четыре раза в верхнем модуле. Два модуля взаимодействуют друг с другом и некоторыми другими модулями. "А" посылает некоторые сигналы, которые должен принять другой экземпляр "А". С…
21 апр '14 в 08:23
1
ответ
Искаженное утверждение в verilog
Привет, я использую следующий код для разработки n-битного счетчика. В зависимости от начала и конца я хочу создать счетчик вверх или вниз. Но я получаю "Неверное утверждение". Пожалуйста помоги. module nbitUpCounter(startc,endc , clk, rst_n,actlow,…
14 фев '14 в 04:51
2
ответа
Verilog Force - релиз
Можно ли дважды форсировать сигнал перед его выпуском в verilog? Что-то вроде ниже, initial begin force top.dut.xyz.abc.dout = 1; #5ns; force top.dut.xyz.abc.dout = 0; #5ns; release top.dut.xyz.abc.dout = 0; end Какая сила будет высвобождена, когда …
18 сен '17 в 09:48
3
ответа
О задержке в флип-флопе
Я хочу буферизовать однобитовый сигнал "сделано" двумя однобитными триггерами. Готовый сигнал будет повышаться только в течение одного такта в моем дизайне. Поэтому я написал следующий код. //first level buffer done signal for one cycle to get ciphe…
16 июн '12 в 16:12
0
ответов
Волновая форма для переноски сумматора
Мой тестовый стенд показан ниже, мне нужна следующая волновая функция: форма волны при 150 нс module rca_dataflow_tb; reg [3:0] a; reg [3:0] b; reg cin; wire [3:0] s; wire cout; rca_dataflow dut(.a(a),.b(b),.cin(cin),.s(s),.cout(cout)); initial begi…
24 апр '18 в 13:30
1
ответ
Verilog: если заявление неожиданное поведение
Я реализую путь данных MIPS (поведенческий) в Verilog, и когда я имитирую свой код, поведение является неожиданным. Здесь показан случай инструкций BEQ и BNE (ветвь, если равно / не равно). ALU_Out определяет, равны ли два регистра или нет. Ни один …
14 ноя '15 в 11:29
1
ответ
Verilog несколько проверок при назначении
Я не могу понять, почему в этом коде есть ошибка синтаксиса: mem_check_msk = (membytes[i] == 3) ? 32'h00ffffff : (membytes[i] == 2) ? (mempa[i][1:0] == 2'b00) ? endianess ? 32'hffff0000 : 32'h0000ffff : (membytes[i] == 1) ? (mempa[i][1:0] == 2'b00) …
03 авг '17 в 15:18
1
ответ
Ошибка при проверке синтаксиса
module mult(a, b, p); input [16:0] a; input [16:0] b; output p; wire [31:0] p; reg i; wire pv; wire bp; assign pv = 32'b0; assign bp = {16'b0,b} ; initial begin for (i = 0; i < 32 ; i = i + 1) begin if (a[i] == 1'b1) begin pv <= pv + bp; end b…
14 фев '17 в 06:09
4
ответа
В Verilog я пытаюсь использовать $readmemb для чтения.txt файла, но он только загружает xxxxx (не заботится) в память
Мне нужно загрузить память с некоторыми данными первоначально в двоичном формате. Я читал, что $readmemb может быть использован для этого, и есть даже способ сделать синтезируемым. Итак, я создал другой модуль с именем RAM_IN (который не является мо…
10 май '16 в 10:28
2
ответа
Синтез "всегда" блоков
Справочное руководство Verilog Golden на стр. 12 предостерегает от несомненного always блокирует и дает шаблоны, которым нужно следовать, чтобы уменьшить вероятность непреднамеренного создания несинтезируемого always блоки. Однако в руководстве не …
02 апр '12 в 16:40
1
ответ
Могу ли я назначить переменные многомерным элементам массива в Verilog?
Могу ли я назначить что-то вроде этого в Verilog: reg [4:0] synd[0:4]={s0,s1,s2,s3,s4};//s0,s1,s2....s4 are 5 bit values. Кроме того, при обращении к этому массиву из блока 'Always', я должен просто ссылаться на него, как скажем synd[0] для s0 и так…
10 авг '17 в 15:47