2017-01-04 1 views
-1

bind 명령을 사용할 때 내 DUT를 인터페이스에 바인딩 할 때 직면하는 문제를 해결하는 데 도움을주십시오. 내 dut 신호를 인터페이스 신호에 연결할 수 없습니다. 시뮬레이터는 오류를 계속 제공합니다.bind 명령에 문제가있어서 인터페이스에 dut을 바인딩 할 수 없습니다.

바인드 명령이 작동하려면 입/출력 포트로 모든 DUT 포트를 정의해야한다고 생각합니다. 이 내 코드입니다 :

module top(); 
… 

trfcCtrlItf itf (clock); 

trafficController dut 
    (hwy, hwy_wlk, cntry, cntry_wlk, 
    cntrRdCarsNmb, 
    setup, done, 
    clock, clear); 

bindModule bind_inst(clock); 
… 
endmodule 

module bindModule (input bit clk); 

bind trafficController trfcCtrlItf bind_inst 
    (hwy, hwy_wlk, cntry, cntry_wlk, 
    cntrRdCarsNmb, 
    setup, done, 
    clock, clear); 

endmodule 

module trafficController 
    (hwy, hwy_wlk, cntry, cntry_wlk, 
    cntrRdCarsNmb, 
    setup, done, 
    clock, clear); 

output reg [1:0] hwy, cntry; 
output reg [1:0] hwy_wlk, cntry_wlk; 
input setup, done; 
input clock, clear; 
input[5:0] cntrRdCarsNmb; 
… 
endmodule 

interface trfcCtrlItf (input bit clock); 

logic clear; 
logic [1:0] hwy, cntry; 
logic [1:0] hwy_wlk, cntry_wlk; 
logic setup, done; 
logic [5:0] cntrRdCarsNmb; 

modport dut (input clock, clear, setup, done, cntrRdCarsNmb, 
      output hwy, cntry, hwy_wlk, cntry_wlk); 

modport tb (output clock, clear, setup, done, cntrRdCarsNmb, 
      input hwy, cntry, hwy_wlk, cntry_wlk); 
endinterface 

시뮬레이터 말을 바인드 모듈에 오류가 있습니다 너무 많은 포트 연결

** 치명적인 : (VSIM-3365) E :/문서/SystemVerilog를은/UVM_Reg_myExample_trfcCntrl/bindModule .sv (15) :

너무 많은 포트 연결. 1 예상 발견 9

제발 만 응답으로이 문서를 보내지 마십시오 다음과 모듈 trafficControllerhttp://events.dvcon.org/2012/proceedings/papers/01P_3.pdf

답변

0
bind trafficController trfcCtrlItf bind_inst 

수단 (인터페이스)의 인스턴스를 바인딩 trfcCtrlItf 인스턴스 이름은 bind_inst입니다. 인터페이스 trfcCtrlItf는 하나 개의 포트를 가지고 있지만,이 문에 당신은 9 개 포트 연결 :

따라서
bind trafficController trfcCtrlItf bind_inst 
    (hwy, hwy_wlk, cntry, cntry_wlk, 
    cntrRdCarsNmb, 
    setup, done, 
    clock, clear); 

당신의 오류입니다.

+0

대답 주셔서 감사합니다. 사실이 접근 방식이 마음에 들지 않습니다 ... 제 생각을 정당화합시다. 인터페이스의 개념은 모듈 연결을 단순화합니다. easly 추가/제거 모듈 포트 하지만 이제는 우리가 모듈에서 우리가 어떤 포트를 변경했을 때마다 a) 편집 인터페이스 파일 b) 편집 바인딩 모듈 이 경우에는 인터페이스 모듈을 사용하여 명확한 이점을 참조하십시오 – haykp

관련 문제