CHIP KIDD

[FPGA-Verilog : 2bit comparator (동작점 모델링)] 본문

반도체/FPGA - Verilog

[FPGA-Verilog : 2bit comparator (동작점 모델링)]

쑨야미 2021. 4. 2. 14:53

동작점 모델링

if 내부의 조건을 만족하면 실행문 실행 --> 4bit, 8bit로 키워가도 똑같이 해주면되므로 동작점 모델링이 편하다.

반면에 Adder는 half adder를 붙여서 만들어가기 때문에 구조적 모델링 방법이 편리하다.

 

module comparator_2bit(
    input [1:0] in1,
    input [1:0] in2,
    output reg less,
    output reg equal,
    output reg bigger
    );
    
    always @(in1 or in2)begin
    
        if (in1 == in2)begin
            
            equal = 1;
            less = 0;
            bigger = 0;
            
        end
        
        if (in1 > in2)begin
            
            equal = 0;
            less = 0;
            bigger = 1;
            
        end
        
        if (in1 < in2)begin
            
            equal = 0;
            less = 1;
            bigger = 0;
            
        end
    
    end
    
endmodule
##Pmod Header JB
set_property -dict { PACKAGE_PIN T20   IOSTANDARD LVCMOS33 } [get_ports in1[0]]; #IO_L15P_T2_DQS_34 Sch=JB1_p
set_property -dict { PACKAGE_PIN U20   IOSTANDARD LVCMOS33 } [get_ports in1[1]]; #IO_L15N_T2_DQS_34 Sch=JB1_N
set_property -dict { PACKAGE_PIN V20   IOSTANDARD LVCMOS33 } [get_ports in2[0]]; #IO_L16P_T2_34 Sch=JB2_P
set_property -dict { PACKAGE_PIN W20   IOSTANDARD LVCMOS33 } [get_ports in2[1]]; #IO_L16N_T2_34 Sch=JB2_N
#set_property -dict { PACKAGE_PIN Y18   IOSTANDARD LVCMOS33 } [get_ports Y[0]]; #IO_L17P_T2_34 Sch=JB3_P
#set_property -dict { PACKAGE_PIN Y19   IOSTANDARD LVCMOS33 } [get_ports Y[1]]; #IO_L17N_T2_34 Sch=JB3_N
#set_property -dict { PACKAGE_PIN W18   IOSTANDARD LVCMOS33 } [get_ports Y[2]]; #IO_L22P_T3_34 Sch=JB4_P
#set_property -dict { PACKAGE_PIN W19   IOSTANDARD LVCMOS33 } [get_ports Y[3]]; #IO_L22N_T3_34 Sch=JB4_N


##Pmod Header JC
set_property -dict { PACKAGE_PIN V15   IOSTANDARD LVCMOS33 } [get_ports equal]; #IO_L10P_T1_34 Sch=JC1_P
set_property -dict { PACKAGE_PIN W15   IOSTANDARD LVCMOS33 } [get_ports bigger]; #IO_L10N_T1_34 Sch=JC1_N
set_property -dict { PACKAGE_PIN T11   IOSTANDARD LVCMOS33 } [get_ports less]; #IO_L1P_T0_34 Sch=JC2_P