2014-12-08 9 views
-1

이 코드의 15 행에서 구문 분석 오류가 발생합니다.reg 선언에 구문 분석 오류가 발생했습니다.

12: module DoShellSort(
13: input [10*20-1:0] toSort, 
14: output [10*20-1:0] sorted 
15: reg arrBitSize 
16:); 

다음은 입력 및 reg 변수를 초기화하는 테스트 벤치 부분입니다.

module ShellSort_tb; 
    reg [10*19:0] toSort, arrBitSize; 
    wire [10*19:0] sorted; 
    integer i; 

    DoShellSort ss_tb ([10*19:0] toSort, [10*19:0] sorted, arrBitSize); 

    // Input values you want to sort here 
    // Note: Should be 20 bits in size 
    initial $readmemh ("memory_hex.txt", toSort); 

    initial begin 
     #1 $display("\nThis program implements SHELL SORT to arrange values.\n"); 

     // Display initial array 
     #10 $display("Array to sort: "); 
     #10 for (i = 0; i < arrBitSize + 1; i = i + 1) 
      $write("%h", toSort[i]); 

     #10 arrBitSize = 4'd9; 

     // ................ 
endmodule 

iVerilog를 사용하여 합성 중입니다. 다음 오류 메시지는 다음과 같습니다 나는 구문 분석 오류를 받고 있어요 왜

enter image description here

누군가가 나를 도울 수 있습니까? 감사!

+0

모듈 정의에서 '입력', '출력'또는 '입출력'신호 만 가질 수 있습니다. 'reg'는 받아 들일 수 없습니다. Verilog에서'매개 변수 '에 대해 배우기를 권합니다. 왜냐하면 꼭 필요한 것일 것 같습니다. – Qiu

답변

2

포트를 정의한 방법에 오류가 있습니다. 쉼표와 포트 방향이 누락되었거나 rweg을 잘못된 위치에두고 쉼표가 누락되었습니다. 나는 당신이 의미 생각

module DoShellSort(
    input [10*20-1:0] toSort, 
    output [10*20-1:0] sorted //missing comma? 
    reg arrBitSize   //missing port direction? 
); 

: 당신은 내가이 쉽게 코드를 업데이트 할 수 있도록로 더 연습, separatly 각 포트 목록을 찾을

module DoShellSort(
    input  [10*20-1:0] toSort, 
    output reg [10*20-1:0] sorted, arrBitSize 
); 

및 인터페이스는 사람들에게조차 분명하다 언어에 익숙하지 않은 사람.

module DoShellSort(
    input  [10*20-1:0] toSort, 
    output reg [10*20-1:0] sorted, 
    output reg [10*20-1:0] arrBitSize 
); 
0

포트 연결이 좋지 않습니다. 유형 선언에 그 이외의 패킹되지 않은 차원을 가질 수 없습니다. DoShellSort ss_tb (toSort [10 * 19 : 0], 정렬 [10 * 19 : 0], arrBitSize);

출력 [10 * 20-1 : 0] 정렬 후 모듈 포트 선언이 누락되었습니다. ",".

+0

모듈 포트가 Verilog에서 유효한 구문이 아닌 ANSI 스타일로 선언되었습니다. 이 유형의 포트 선언은 시스템 Verilog에서 유효합니다. –

+2

ANSI 스타일 포트 선언은 2001 년부터 Verilog의 일부였으며 1995 년 Verilog의 일부가 아닙니다. – Morgan

+0

Morgan에게 감사드립니다. 이전에는이 ​​사실을 알지 못했습니다. –