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
제발 만 응답으로이 문서를 보내지 마십시오 다음과 모듈 trafficController
에 http://events.dvcon.org/2012/proceedings/papers/01P_3.pdf
대답 주셔서 감사합니다. 사실이 접근 방식이 마음에 들지 않습니다 ... 제 생각을 정당화합시다. 인터페이스의 개념은 모듈 연결을 단순화합니다. easly 추가/제거 모듈 포트 하지만 이제는 우리가 모듈에서 우리가 어떤 포트를 변경했을 때마다 a) 편집 인터페이스 파일 b) 편집 바인딩 모듈 이 경우에는 인터페이스 모듈을 사용하여 명확한 이점을 참조하십시오 – haykp