2014-11-25 1 views
0

유형 캐스팅 메소드를 사용하여 여러 비트를 단일 비트로 변환하려고 시도했지만 lint checker (LEDA)가 [0:0]을 허용하지 않으며 오류로 지적합니다. [0:0]은 배열을 의미합니까?멀티 비트 클럭이 타입 캐스팅을 사용하여 단일 비트로 수렴 됨

코드 사용 :

module xyz(
    input  x, 
    input  rst, 
    input  din, 
    output reg dout 
); 

    logic [1:0] i_clk; 
    logic [0:0] clk; 

    assign i_clk = logic'(x ); 
    assign clk = logic'(i_clk); 

    always_ff @(posedge clk) begin 
    if (rst) 
     dout <= '0; 
    else 
     dout <= din; 
    end 

endmodule 

LEDA 디자인 검사 명령 행 :

leda -top xyz filename.v -config leda_config.tcl +v2k -sverilog 

leda_config.tcl :

Multi-bit expression (e.g., a[2:0]) used as clock 
:

rule_deselect -all rule_select -rule W450 

오류처럼 보이는

+1

어떤 종류의 오류가 있습니까? 내가 사용하는 소프트웨어로 다시 만들 수 없었다. – Qiu

+0

보푸라기 오류 (어떤 린스 도구를 사용할 수 있음) 시계로 사용되는 멀티 비트 표현 – Emman

+1

로직은 시스템 베일 로그 정의이며, Verilog에는 없습니다. 확실히 -sv로 컴파일합니까? – chitranna

답변

0

많은 도구가 logic clklogic [0:0] clk 인 경우 문제가 있습니다. 기술적으로, 전자는 스칼라 변수이고 후자는 하나의 요소 배열입니다. 불행히도 clk[0] 또는 clk[0:0]으로 참조가 가능하도록 많은 도구가 잘못 허용 되었기 때문에 logic clk;으로 선언 되었기 때문에 도구가 다른 선언에 반응합니다 또는 참조가 혼란스러워집니다.

관련 문제