-"조언 포스트는 장소와 경로를 결함 추적!

S

sixdegrees

Guest
안녕하세요,
난 포스트 장소 n 루트 시뮬레이션 자일링스, ISE 7.1i 및 ModelSim XE는 6.0aI 사용시 문제가 해결되지 스파르타 3의 FPGA 보드를 사용하고이 출력되기 전에 마지막으로 앉았을 때 불필요한 쓰레기를 출력, 고장 원인이있다.대형 디자인뿐만 아니라 (저는 DSP를 proc 디렉토리에 대한 IP 코어 설계입니다.) 경우 간단한 등록 인스턴스, 시뮬레이션 결과 PnR 게시물 결함을 보여줍니다.

아래의 코드와 Testbench 간단한 8 비트 레지스터입니다.

`timescale 1ns / 1ps

모듈 가기 (의 CLK,,, 밖으로) enb 재설정;

입력 [7시]에;
입력 CLK;
입력 재설정 enb;

출력 [7시] 아웃;

] 아웃 [7시 reg;

항상 (posedge CLK) @
시작
(리셋)하는 경우
밖으로 "= 8'b0;
다른 경우 (enb)
밖으로 "= 년;
그 밖의
밖으로 "= 밖으로;
끝endmodule

모듈 test_top_v;

/ / 입력
]에서 [7시 reg;
reg CLK;
, enb 재설정 reg;

/ / 출력
철사 [7시] 아웃;

/ 시험 (UUT)에서 / 인스턴스 단위
위로 가기 UUT (
.의 (에),
. CLK (CLK)
(리셋) 재설정됩니다.
. enb (enb)
. 아웃 (밖으로)
);
항상 # 25 CLK = ~ CLK;
초기 시작
/ / 초기화 입력
= 0;
CLK = 0;
enb = 0;
리셋 = 1;

/ / 잠깐 글로벌 재설정을위한 100 ns의 완성
# 100;
# 50 리셋 = 0;

/ / 여기에 자극을 추가

# 50 enb = 1;
= 8'b00000001에;
# 50 enb = 0;

# 180 enb = 1;
= 8'b11111111에;
# 50 enb = 0;
# 100 $ 그만;
끝endmodule

I 출력 고장이 도착하면 '8'h1에서 값을 변경'을 8'hFF합니다.

사람이 어떻게 이러한 모든 문제와 모든 링크에 대한 해결 방법은 몇 가지 조언을 줄 수 PLZ / 포인터 강력하고 완벽한 설계도를 입수했다.내가 생각의 FPGA 구현을위한 코딩을받을 것 같은 기능을 시뮬레이션에 관해서는 상당히 다른 야구장입니다



 
Popularny odtwarzacz multimedialny doczekał się najnowszej odsłony. Wprowadzono w nim sporo ciekawych i ułatwiających życie ulepszeń.

Read more...
 
내가 ISE 8.1.03i 귀하의 디자인을 라우팅 및 사후 경로를 시뮬레이션 ModelSim 6.2a 한거야.어떤 문제가 표시되지 않습니다.

개최 시간 위반이 발생하지 않도록주의하십시오.255에 대한 귀하의 '변화 클럭 후 단 몇 나노 초.그건 보통, 괜찮 아요하지만 IOB 구성, 최저점의 위치에 따라, 그리고 클럭 / 신호 라우팅, 그건 문제가 될 수있습니다.

7.1i 용 최신 서비스 팩을 설치하십시오.버전 7은 매우 버그를 시작했다.

 
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
안녕!
문제를 주셔서 감사합니다.
내가 첨부된 jpg이 파일을 보려면 어떤 got.Please 시뮬레이션 파형을 부착입니다.
내가 7.1i 서비스 팩 4 및 해달라고 knw 여부를 제가 안 8.1i를 사용해야합니다 ISE 사용하고있습니다.

분명히하시기 바랍니다
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
문제없습니다!당신은 단순히 당신의 8 가지 전파 지연 비트 '출력 패드를 밖으로'등록을 볼 수있다.귀하의 라우터는 아마 입력 IOBs로 (예측 입력을 설치함으로써 제공 / 타이밍을 잡고), 그래서 출력을 패드에 경로를 서로 다른 길이를 가지고 등록을 차지했다.FPGA를 편집기를 사용하여 물리적 레이아웃을 볼 수있습니다.

좀 더 명확하게 ModelSim의 지연, 각 비트 확장과 수평의 축소를 참조하십시오.1ns 이하 격자 내가 표시됩니다.

어쩌면 당신 설계 출력을 등록할 추가할 수있습니다.그렇다면 귀하의 모든 입력과 출력 신호 날카로운 타이밍 및 지연 라우팅에 면역이됩니다.또한, 귀하의 제약 가이드 IOB 제약 사항을 참조하십시오.

그건 그렇고, 만약 너비 800 픽셀, 그것을 자동으로 표시됩니다 JPEG 또는 GIF 트림.
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
안녕하세요 @ echo47

파일 I UCF 사용자 정의를 사용하고 난 거기에 라우터의 모든 가능성을 가치와 함께 밖으로 배치라고 생각하지 않습니다.또한 때문에 꼭 거기에 결함을 볼 수있습니다 당신이 내 첨부 파형을 본적이 있다고 가정합니다.

스파르타에 대한 ucf 3 XC3s5000 기반의 보드입니다 :

# PACE : PACE 내가 시작 / O 핀 할당
NET에서 "CLK"LOC = "AH15";
NET에서 "리셋"LOC = "AG26";
""0 NET에서 ""LOC = "AH29";
"NET을"1 ""LOC = "AJ27";
"NET을"2 ""LOC = "AJ26";
"NET을"3 ""LOC = "AJ25";
"NET을"4 ""LOC = "AK24";
"NET을"5 ""LOC = "AK23";
""6 NET에서 ""LOC = "AK22";
""7 NET에서 ""LOC = "AJ20";
""0 밖 NET에서 ""LOC = "E8";
""1 아웃 NET에서 ""LOC = "E9";
""2 아웃 NET을 ""LOC = "F11을 눌러";
""3 아웃 ""LOC = "F12 키를"NET을;
""4 번 NET에서 ""LOC = "F13";
""5 개 중에 ""LOC = "F14"NET을;
""6 아웃 NET에서 ""LOC = "E15";
""7 아웃 NET에서 ""LOC = "F16";<img src="http://images.elektroda.net/30_1166414372.GIF" border="0" alt="Advice sought for Post place and route glitches!!" title="조언 포스트는 장소와 경로를 결함 추적!"/>
 
(내 이전 메시지에 대한 몇 가지 단어를 더 추가되었습니다.)

당신의 새로운 확장 파형을 명확하게 다른 전파 지연을 보여줍니다.출력 IOBs는 확실히 아니 등록할 수있습니다.그 중 하나를 입력 IOBs의 로직이나 직물이다.FPGA를 사용해보십시오 에디터 - 나는 그것을 매우 및 - 항로 행동을 이해하기위한 중요한 장소를 찾으십시오.또한 "IOB 속성"귀하의 "매핑 보고서 파일"- 그것 IOBs 레지스터가 할당되어 표시를 참조하십시오.

귀하의 "LOC"제약만을 핀 번호를 지정할 수있습니다.그들은 어디에 등록을 박았 라우터를 제어하지는 않습니다.

당신의 메시지에 이미지를 삽입하는 또 다른 방법을 찾았다고 볼!
echo47에 의해 2006년 12월 18일 5시 13분에 편집한 마지막으로, 1 시간을 편집한 총

 
그래, 난 여부 결함이나하지하는 데이게 얼마나 레지스터에 어떤 값이 출력하는 대신에 이동하거나 IOB이나 로직 패브릭 당신이 말할 수 있도록 여부를 어떻게 내 디자인이나하지 적절한 있는지 알아 말해 주시기 바랍니다.또한 나는 확실히 거기에 내 생각 shouldn't하여 '밖으로'신호 87의 값을 볼 수있습니다.제발면 분명히 거기에 있어야합니다.

또한 나는 확실히 그것을 어떻게 설치 주변을 누르고 있으십시오 나는 점점 오전 위반에 대한 혼란 스러워요.거기에는 그 위반하는 데 정확한 이해 레지스터에 어떤 방법입니다.내 ModelSim과 같은 메시지에만 줄 것으로 보인다 :

오류 : C : / 자일링스 / Verilog / src에 / simprims / X_FF.v (52) : $ (posedge CLK : 492,572 ps의, 난 & & & (in_clk_enable == 1) : 492,807 ps 이하, 381 ps) 수준 posedge 잡고;
# 일시 : 492,807 ps의 반복 : 2 인스턴스 : / tb_reg_file_v/uut/Ram_2_38_3110

하지만 난 그게 52 오류가 있음을 의미하고 무엇이 X_FF.v 파일이며, 내가 어떻게이 문제를 해결받을 수있습니다 않으면 이해할 수없습니다.

그리고 모두가 어딘가를 시작으로, 여기서 며칠을위한 점차적으로 예정되어 따라잡을 것 같다.추가 23 분 후 :또한 IOB 속성이 이것과 연결된 위치 :

섹션 6 - IOB 속성
--------------------------

------------------------------------------------- -------------------------------------------------- ---------------------
| IOB 이름 | 종류 | 찾아 오시는길 | 입출력 규격 | 드라이브 | Slew | 등록 (영어) | 저항 | IOB |
| | | | | 강도 | 평가 | | | 지연 |
------------------------------------------------- -------------------------------------------------- ---------------------
| CLK | IOB | 입력 | LVCMOS25 | | | | | |
| enb | IOB | 입력 | LVCMOS25 | | | | | |
"0"| | IOB | 입력 | LVCMOS25 | | | INFF1 | | IFD |에서
"1"| | IOB | 입력 | LVCMOS25 | | | INFF1 | | IFD |에서
"2"| | IOB | 입력 | LVCMOS25 | | | INFF1 | | IFD |에서
"3"| | IOB | 입력 | LVCMOS25 | | | INFF1 | | IFD |에서
"4"| | IOB | 입력 | LVCMOS25 | | | INFF1 | | IFD |에서
"5"| | IOB | 입력 | LVCMOS25 | | | INFF1 | | IFD |에서
"6"| | IOB | 입력 | LVCMOS25 | | | INFF1 | | IFD |에서
"7"| | IOB | 입력 | LVCMOS25 | | | INFF1 | | IFD |에서
0 | "밖으로"| IOB | 출력 | LVCMOS25 | 12 | 슬로우 | | | |
1 | "밖으로"| IOB | 출력 | LVCMOS25 | 12 | 슬로우 | | | |
2 | "밖으로"| IOB | 출력 | LVCMOS25 | 12 | 슬로우 | | | |
| "3"| IOB | 출력 | LVCMOS25 아웃 | 12 | 슬로우 | | | |
4 | "밖으로"| IOB | 출력 | LVCMOS25 | 12 | 슬로우 | | | |
5 | "밖으로"| IOB | 출력 | LVCMOS25 | 12 | 슬로우 | | | |
6 | "밖으로"| IOB | 출력 | LVCMOS25 | 12 | 슬로우 | | | |
7 | "밖으로"| IOB | 출력 | LVCMOS25 | 12 | 슬로우 | | | |
| 리셋 | IOB | 입력 | LVCMOS25 | | | | | |
------------------------------------------------- -------------------------------------------------- --------------------- 그것은 분명히 밖으로 출력 IOBs와 마찬가지 입력 IOB 또는 로직 패브릭 당신이 언급, 나는 꽤 사실을 명확하게 지정된 매핑 후 출력을 입력으로 매핑됩니다 놀랄 사실, 난 어떤 라우터를 인식하지 않는 오전 보여줍니다 즉, 난 너의 모든 예제와 정당성을 좀 자세히 설명해 주시 잘못 될 수도있습니다.

 
이러한 불평등 전파 지연이 "왜곡"이라고합니다.( "결함"다소 다른 현상입니다.) 크기 조절 사방 현실 세계에서 어느 정도로, 그래서 그것을 아주 몇 백 picoseconds에 대한 이상한 버스 값을 볼 수 흔한 일이 발생합니다.실제로는 FPGA 내부의 발생, 그리고 그것을 완벽하게 정상이에요.우리 엔지니어들이 왜곡 방지 - 두통과 관련된 동기 설계를 사용하여.

대상 장치를 제외하고 엄격한 왜곡 컨트롤이 필요 귀하의 설계, 적절한 것으로 보인다.그렇지 않은 경우 다음 출력 IOBs에 등록을 추가할 수없습니다.

하면 게시물 - 경로를 시뮬레이션을 실행합니다.귀하의 Netlist로 확대되면 매우 낮은 HDL을 전체 파일 수준의 자일링스, 원시 자세한 큽니다.귀하의 프로젝트 폴더에이 파일을 찾습니다.정말이 파일에서 귀하의 원래 디자인을 인식하기 어려울 수 있지만, 그 무엇을 시뮬레이션 ModelSim이지.귀하의 오류 메시지가 타이밍 문제 X_FF 플립 플롭이라는 원시 / tb_reg_file_v/uut/Ram_2_38_3110와 함께 언급했다."52"자일링스의 Verilog 모델 라인 번호 플립플롭의 동작을 설명을 나타냅니다.

당신의 매핑이 보고서는 * 입력 * 등록을 보여줍니다.그게 "INFF1"등록 (들) 열에 뜻이야.매퍼 장소는 놀라운 보일 수도 있지만 정확한 위치 등록 기능 넣을 수있습니다.이 자리는 당신의 신호 이름 (예 : ""및 "을") 또는 Verilog 포트 방향 (예 : "입력"와 "출력")로서 관련이있을 수있습니다.만약 여러분이 등록을 위치를 아래로 못을하고 싶다면, 제약 조건을 사용해야합니다.

그건 그렇고, 난 아주 드물게 포스트 경로를 시뮬레이션을 실행합니다.내가 정상적으로 완벽하게 동기 설계를 작성하고 실행하는 행동 시뮬레이션.만일 내가 다 타이밍이 충족 그럼 난 장소 실행 및 경로, 그리고 클럭 제약 조건을 지정합니다.

 
안녕하세요 echo47!

인용구 :

난 정말 당신이 훌륭한 상호 작용에 대한 감사, 난 정말 당신의 도움을 주셔서 감사합니다

 
the skew on data signals, it does not necessarily control
the skew.

동기 설계 데이터 신호의 왜곡하지 못해요,
그것이 반드시 왜곡 제어하지
않습니다.그것은 동시에하므로 다양한 디자인을 안정적으로 전파 지연에도 불구하고 작품을 모두 슬리퍼 시계.(시계 순 낮은 왜곡이 있어야합니다.)

두 번째 시뮬레이션을 표시할 시간 척도가 표시되지 않습니다.내 시뮬레이션에 대한 800ps 왜곡을 보여줍니다.아주 많지가 않네요.정말 문제의 원인인가?

당신은 출력 IOB 레지스터를 사용하여 출력 왜곡을 최소화할 수있습니다.이것은 출력 타이밍에서 라우팅 지연을 제거합니다.왜냐하면 그들은 좋은 예측 입력을 설정 / 보류 타이밍을 제공하는 당신은 아마 입력 IOB 레지스터를 유지합니다.

8-bit registers in the HDL.

그래서 우리는 2 개의
8 비트 레지스터 HDL을에 필요합니다.귀하의 자일링스 매퍼만큼 그들의 자동 입력 IOBs로 한 장소, 그리고 출력 IOBs에 다른 하나는 똑똑해야합니다.(기본적 매퍼 동작을 구성할 수있습니다 조심하십시오.) 물론, 신규 등록을 하나의 클럭 사이클에 의해 데이터가 지연됩니다.
코드 :

모듈 가기 (의 CLK,,, 밖으로) enb 재설정;

입력 [7시]에;

입력 CLK;

입력 재설정 enb;

[7시 reg]; / / 매퍼 입력 IOBs이 가게해야합니다

출력 reg [7시] 아웃; / / 매퍼 출력 IOBs이 가게해야합니다항상 (posedge CLK) @

시작

(리셋)하는 경우

"= 8'b0;

다른 경우 (enb)

"= 년;

그 밖의

"=;

밖으로 "=;



endmodule
 

Welcome to EDABoard.com

Sponsor

Back
Top