2016-09-11 1 views
0

나는 이미 여기에서 검색을 수행했으며 약간의 통찰력을 발견했지만 이러한 종류의 루프를 사용하는 것에 대한 개념 중 일부는 나를 벗어난다. 내가 실행할 수있는 시뮬레이터 (ISIM)를 얻으려고블록/루프 생성을 사용하여 리플 캐리 더하기 만들기

module RCA8(A_8, B_8, Cin, Cout, S_8); 
input [7:0] A_8, B_8; 
input Cin; 
output Cout; 
output [7:0] S_8; 

wire [8:0] c; 

assign c[0] = Cin; 

genvar i; 
generate 
    for (i = 0; i < 8; i=i+1) 
    begin : make_fadders 
     FullAdder fa( .FA_A(A_8[i]), 
          .FA_B(B_8[i]), 
          .Cin( c[i] ), 
          .FA_S(S_8[i]), 
          .Cout(c[i+1]) 
          ); 
    end 
endgenerate 

assign Cout = c[8]; 

endmodule 

: 여기

module HalfAdder(A, B, Cout, S); 
    input A, B; 
    output Cout, S; 

    assign Cout = A & B; 
    assign S = A^B; 

endmodule 


module FullAdder(FA_A, FA_B, Cin, FA_S, Cout); 
    input FA_A, FA_B, Cin; 
    output FA_S, Cout; 

    wire ha0_S, ha0_C, ha1_C; 

    HalfAdder ha0(.A( FA_A ), 
        .B( FA_B ), 
        .Cout(ha0_C), 
        .S(ha0_S) 
        ); 

    HalfAdder ha1(.A( Cin ), 
        .B( ha0_S), 
        .Cout(ha1_C), 
        .S(FA_S ) 
        ); 

    assign Cout = ha0_C | ha1_C; 

endmodule 

그리고 내 RCA 코드입니다 : 여기에 반 가산기와 전 가산기 내 모듈입니다. 구문을 검사 할 때 작동하지만 프로그래밍 파일을 생성하려고하면 오류가 발생하고 매핑을 실행하면 여러 경고가 반환됩니다. iSim은 오류 861 : 디자인을 연결하지 못했습니다. 매핑과 관련이 없습니까?

내가 실제로 이해하지 못한 한 가지는 구현 및/또는 시뮬레이션보기에서 RCA의 드롭 다운 트리에 하나의 fullAdder 모듈 만 표시한다는 것입니다. 8을 보여줘야 하나? 또는 이것이 작동하지 않는가?

대체로이 유용한 도구를 사용하는 방법을 배우는 것과는 대조적으로 손으로 8 개의 방울을 만들기 때문에 (할당이 ... 표시됨)이 작업을 실제로하고 싶습니다.

기타 세부 정보 : Windows 10, 32 비트 프로젝트 네비게이터 자일링스 14.7

어떤 도움

감사를 사용!

답변

0

이 링크를 확인하십시오. collect2.exe라는 파일의 이름을 바꾸면 문제가 해결 될 수 있습니다.

Xilinx Installation and troubleshooting

+0

정말 고마워요! 그래도 생성 블록이 작동하는 방법에 대한 답변이 필요합니다. 구현에 문제가 있습니까? – rub3z

+0

코드에 따르면, 나는 8 개의 make_fadder 인스턴스를 볼 것으로 예상됩니다. 각 make_fadder 인스턴스에는 1 개의 FullAdder가 있습니다. 그것은 당신이보고있는 것이 아닙니까? –

+0

@ rub3z KamilRymarz의 답변을보십시오. –

0

코드는 올바른 것입니다. 정교 시뮬레이션 트리를 다음과 같이 표시해야합니다.

RCA8 
    make_fadder[0] 
    fa 
    make_fadder[1] 
    fa 
    . 
    . 
    . 
    make_fadder[7] 
    fa  

나는 Vivado 시뮬레이터 및 Aldec Riviera-PRO를 사용하여 확인했습니다.

관련 문제