본문 바로가기

원s/Verilog

[Verilog] Combination Logic

Combination Logic Simulation

조합 논리회로를 Verilog로 기술하고 Modelsim을 이용하여 시뮬레이션한다.

  

[2:1 MUX]

Module: mux2 는 = 이면 y ≪ a,  = 이면 y ≪ 를 출력하는 4 bits Multiplexer 를 assign 문으로 Verilog 로 기술한다.

Conditional and Logical Operator

? : conditional
!  negation
&&  logical OR
|| logical AND

 

[4:1 MUX]

Module: mux4  2bits 제어신호 s 를 가지는 4 bits MUX 를 always 문으로 Verilog 로 기술한다.

mux4 에서 s = 0, 1 이면 오른쪽으로 1 bit 쉬프트 하고, s = 2, 3 이면 왼쪽으로 1 bit 쉬프트 한다. 쉬프트 연산은 Shift Operator 와 Concatenation Operator 로 기술할 수 있다.  

* always @( ) 의 Event List 안에 Wildcard Operator: * 를 사용하여 else 문을 할당하여 의도하지 않은 Latch 생성을 방지한다. 

Concatenation and Shift Operator

{ } concatenation
{{ } } replication
<< left shift
>> right shift
>>> signed reight shift 

 

[Decoder, Lookup table or ROM]

Module: lut8 는 always @(*) 와 case( ) 로 Verilog 로 Lookup Table 을 기술한다.

input: a 에 따라서 ouput: y 값이 결정된다.

* case( ) 문에 default 를 할당하여 Latch 가 발생하지 않도록 한다.  

 

[Full Adder]

Module: fa 는 기술 된 ha 를 Instance 하여 Full Adder 를 Structual Level 로 기술한다. 

* Structual Level Modeling 기술 시 Named port connecction 으로 기술한다. 

'원s > Verilog' 카테고리의 다른 글

[Verilog] Test Bench  (0) 2020.06.27
[Verilog] Sequential Logic  (0) 2020.05.02
[Verilog] Logic Gate  (0) 2020.03.21
[Verilog] Data type  (0) 2020.03.08