Questions tagged [verilog]

For use with the Verilog hardware-description language. Also tag with the IDE or fpga used, if applicable.

From Wikipedia:

Verilog, standardized as IEEE 1364, is a hardware description language (HDL) used to model electronic systems. It is most commonly used in the design and verification of digital circuits at the register-transfer level of abstraction.

Logic synthesis

Automated tools are able to translate Verilog code meeting certain restrictions into a gate-level description of the circuit that can then be implemented in an FPGA or IC. The task is in some ways similar to the task of a compiler for conventional programming languages, but such tools for Verilog are known as "synthesis tools". Language constructs and coding styles that can be processed by synthesis tools are known as "synthesizable". Constructs that are not synthesizable may be used for testbenches, reference models, or debug instrumentation.

When asking a question, please specify whether you are looking for a synthesizable solution.

Sometimes referred to as Verilog HDL, not to be confused with VHDL.

Standardization

Verilog was initially a proprietary system developed by Gateway Design Automation (later acquired by Cadence Design Systems). Verilog became an open standard under the auspices of Open Verilog International (OVI). OVI became part of Accellera, a non-profit organization that develops standards for modeling and verifying system-level designs. Accellera contributes standards to the IEEE once they are mature, and Verilog became standardized as IEEE 1364. The last version was IEEE 1364-2005 (not available as a free download). IEEE 1364 Verilog has been superseded by IEEE 1800 SystemVerilog.

Tags specific to Verilog

6035 questions
1
vote
1 answer

Verilog synthesis is giving me an error that I don't understand

I am getting this error when synthesizing my code, but I don't know what it means. It reads: Error- net "Count[0] or a directly connected net is driven by more than one source and not all drivers are three state. It says the same errors for…
Jesus Meza
  • 29
  • 3
1
vote
1 answer

Why can't I simulate my receiver code for UART?

I'm trying to simulate a uart receiver in a testbench using Verilog. I forced all the input bits, the clock and the reset, and I forced RsRx, the serial input of the receiver, in order to get the output rx_data, but rx_data is always The…
1
vote
1 answer

4-bit adder subtractor Verilog code errors

I am trying to do a 4-bit adder subtractor in Verilog code, but there is some kind of problem in my code that I couldn't figure out. I'm not sure if the testbench or the Verilog is wrong. Can someone please help me with it? Also, when I try to…
user1401
  • 19
  • 8
1
vote
1 answer

Verilog error "continuous assignment output must be a net"

I am working on a an assignment where I have to synthesize my Verilog code. I wrote the code and compiled and simulated, and everything worked fine. When I went to synthesize, the design compiler gave me an error in one of my modules. This module…
Jesus Meza
  • 29
  • 3
1
vote
1 answer

How do I fix "Latches may be generated from incomplete case or if statements" messages?

I was trying to do ALU for 4 bit. I'm getting the correct output. But, while doing RTL Schematics and Technology Schematics, I'm getting errors like this: Signal missing in the sensitivity list is added for synthesis purposes. HDL and…
Silence
  • 175
  • 1
  • 2
  • 9
1
vote
1 answer

How to assign a row in 2D Net in Verilog?

I have a 2D wire, and I am trying to assign one of its rows to a temporary wire of the same length. For some reason, in the simulation, the temporary wire doesn't take those values. generate for(i=16;i<64;i=i+1) begin assign temp[31:0] =…
1
vote
1 answer

Condition A>B>C not getting the right output

I made a program that is able to compare 3 inputs for them to get the largest value (F) The problem is I cannot get the expected output of the problem. Expectation: A B C F 001(1) 111(9) 100(4) 111(9) 001(1) 001(1) 001(1) 000…
1
vote
2 answers

Error: 12014 - I can't link priority circuit module with seven segment module

So below is my priority circuit module module prm (input logic D, A, E, F, output logic [3:0] y); always_comb if (D) y = 4'b1000; else if (A) y …
1
vote
1 answer

Trying to simulate JK-FF with gate level code

I've been trying to simulate a JK-FF with gate level code, but it's not working. Any help is appreciated. Circuit code: module circuit1_3_c(j,k,r,cp,q,q1); input j,k,r,cp; output q,q1; wire…
Abdur Rakib
  • 336
  • 1
  • 12
1
vote
1 answer

Does this queue have a variable size?

bit [31:0] queue_1[$]; All I understood from the above expression is that the queue instantiated here is of type bit with a size of 32, but I read somewhere that the queue is a variable size parameter. If a queue is a variable size parameter,…
1
vote
1 answer

Port size (12 or 12) does not match connection size (6)

Booth algorithm is a multiplication operation that multiplies two numbers in two complement notation The Booth multiplier has been widely used for high performance signed multiplication by encoding and thereby reducing the number of partial…
1
vote
1 answer

Verilog sequential multiplier

I am trying to implement a 4 bit signed sequential multiplier. I have a for loop in my TB, but only the multiplicand changes, not the multiplier. When I manually change the multiplier, I notice that my product outputs all 0s then it changes to the…
Jesus Meza
  • 35
  • 3
1
vote
1 answer

Division using 4-bit Full Adder and Calling the module whenever it is required

I'm trying to build ALU. I built a 4-bit Full Adder and a 4-bit Full Subtractor using Half Adder and Half Subtractor respectively. module fullAdder4bit(output [3:0] sum, output c_out, input [3:0] a, b, input c_in); wire [2:0] c; fullAdder…
Silence
  • 175
  • 1
  • 2
  • 9
1
vote
1 answer

Behavioral Modeling is not a valid l-value in testbench.test

I am trying to use two binary inputs A and B to get the binary output which is the F just like the truth table below, but it keeps saying: main.v:36: error: F3 is not a valid l-value in testbench.test main.v:27: : F3 is declared here as…
1
vote
1 answer

Master-slave J-K flip-flop has no output

I have written the testbench code and design code for Master-slave JK flip flop, but output isn't coming. Please point out the error. Test bench.sv module JK_ff_tb; reg clk; reg reset; reg j,k; wire q; wire qb; jk_flip_flop_master_slave…
1 2 3
99
100