Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

Specific Verilog questions...

Status
Not open for further replies.

XoioX

Newbie level 3
Joined
Jun 15, 2011
Messages
3
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
UK
Activity points
1,307
Hi everyone,

I am going through a piece of code (in Verilog and converting it to VHDL) and although I can simulate it to check what it does, I'd like to make sure I understand the principle behind this line

InputComEncoded = InputCom[3] ? 2'b00 : 2'b10;

Where InputComEncoded and InputCom are defined as:

input [3:0] InputCom;
reg [1:0] InputComEncoded

Am I right to think that InputCom[3] only refers to 1 bit (MSB) of InputCom?

In which case, what is really going on when I compare a 2 bit word with a single bit signal?

When using this conditional statement: A = B ? m : n
Am I right to think that if A = B then A = m else A = n ?

Thanks for your help
(yes I am very new with Verilog! ;-) )
 

std_match

Advanced Member level 4
Joined
Jul 9, 2010
Messages
1,163
Helped
441
Reputation
882
Reaction score
407
Trophy points
1,363
Location
Sweden
Activity points
8,929
No, it means A = m if B is true, A = n if B is false.

This construct also exists in the programming language C,
with the same meaning.
 
  • Like
Reactions: XoioX

    XoioX

    points: 2
    Helpful Answer Positive Rating

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
47,478
Helped
14,047
Reputation
28,349
Reaction score
12,702
Trophy points
1,393
Location
Bochum, Germany
Activity points
276,115
Why don't you check with a Verilog text book or compiler manual? It's not so effective to guess about the meaning of language contructs.

Am I right to think that if A = B then A = m else A = n ?
So you mean, that A is both receiving the result and used in the compare? Sounds strange, isn't it?
The Verilog c?x:y construct is identical to C language, the c term is tested for equality to zero. It can be replaced by a conditional VHDL assignment

Code:
InputComEncoded <= "00" if InputCom(3)= 1 else "10";
 
  • Like
Reactions: XoioX

    XoioX

    points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top