2013-03-28 3 views
0

몇 가지 이상한 문제가 있습니다. 일부 배선이 내 디자인에 연결되어 있지 않습니다.전선이 RTL에 연결되어 있지 않습니다.

간단한 레지스터 파일을 만들려고합니다. (자일링스 ISE를 사용하고 있습니다). 이 레지스터 파일에는 32 개의 레지스터가 있으며 각 레지스터는 32 비트 크기입니다. 레지스터 파일에는 선택 읽기 (병렬로 2 개의 판독)를위한 두 개의 MUX와 쓰기 선택을위한 디코더가 있습니다. 각 레지스터의 신호를 2 MUX에 연결하려고하면 신호는 MUX 중 하나에만 연결된 RTL에 나타납니다. 예를 들어 reg2out 신호를 reg2의 출력이라고합시다. 난 I1mux1reg2out을 연결하고 I1mux2에 다시 reg2out을 연결하십시오. 그런 다음 RTL은 정확하게 연결된 두 번째 먹스를 보여 주지만 첫 번째 먹스는 입력이없고 선택 자도없고 출력이 연결되지 않은 상태로 나타납니다. 다음 이미지는 RTL을 보여줍니다. problem

참고 :

를 합성 할 때 ISE는 다음과 같은 경고를 생성 - '나는 돈

"경고 : XST 1348 단위 먹스가 병합 (출력 인터페이스는 tristates있다)" 이해한다.

주 모듈 소스 "RegisterFile.vhd"는 here입니다. 새로운 신호를 추가하고 D-FF에 레지스터 출력을 저장하고 프로세스 변수에 레지스터 출력을 저장하는 등 여러 가지 수정 방법을 시도했습니다. 문제는 여전히 존재합니다. 이 디자인에는 "dec.vhd"및 "mux.vhd"라는 두 개의 파일이 포함되어 있습니다. 나는이 모듈들의 디자인이 정확하다고 믿는다.

어떻게 문제를 해결할 수 있습니까? ISE의 버그입니까?

+0

ISE는 MUX를 결합한 것 같습니다 ... 문제를 재현하려면 dec.vhd, mux.vhd 및 "mine"패키지를 사용할 수 있습니까? read_sel1/read_sel2는 개별적으로 또는 어쨌든 서로에 따라 생성됩니까? – baldyHDL

+0

@baldyHDL 여기 나머지 파일 찾기 http://ideone.com/89wHMA –

+0

기본 합성 속성으로 ISE13.4를 사용하여 두 MUX를 모두 얻습니다. 이것은 문제를 재현 할 수 없다는 것을 의미합니다! 다시, read_sel1 및 read_sel2 외부 신호 (FPGA 입력)입니까? 아니면 코드 내에서 생성되어 어떻게 든 서로 관련이 있습니까? – baldyHDL

답변

1

이것은 ISE 12.1의 버그입니다. 그러나 RTL 도식 시각화의 버그 인 것 같습니다. 합성 보고서에 사용 된 구성 요소가 올바르게 언급되어 있기 때문입니다. ISE 버전 12.2를 사용하면 더 이상 문제가 재현되지 않습니다.

관련 문제