>?입니다 설계 버그 한번 컴파일러

J

jinruan

Guest
거기에 결과 코드가 제는 이러한 디자인,하지만 찾아 ... 제가 코드를 합성 잘못이다.뭐가 문제야?코드는 내 문제가 아니면? 버그의 직류대상 라이브러리 slow/CSM25입니다.

코드 :

항상 @ (posedge CLK 또는 negedge rst_n)
(있다면! rst_n)
dout의 <= 1'b0;
다른 사람)면 (ko를
dout의 <= 1'b0;
다른 사람
dout의 <= 귀를 멍멍하게하다;

이 결과를 종합 :
SDFFRX1 (.시 (ko)를,. SE는 (귀를 멍멍하게하다),. 차원 (1'b0),. 클락 즐거운 (CLK),. RN (rst_n),. 질문 (dout));

내가 될 수 있다고 생각한다 결과 :
SDFFRX1 (.시 (귀를 멍멍하게하다),. SE는 (ko)를,. 차원 (1'b0),. 클락 즐거운 (CLK),. RN (rst_n),. 질문 (dout));

 
안녕 Jinruan,

수 인내와 논리를 통해 추적.둘 다 동일합니다.

에서 Synopsys의 결과를 고려하고 귀를 멍멍하게하다을 고려하는 경우 딘의 == == 0과 1, 그리고 당신은 Synospsy 것입니다보고 얼마나 똑똑!

그건 그렇고,이 도구는 로직을 사용하여 구현 스캔 FF로가.() 시간을 설정 예 : 매우 긴 깜짝 선물이 좋은 줄 수도 안 될 생각하면 스캔하기 넣으 당신이 원하는 수있는 경로의시, 혹은 언제부터 타이밍.

감사합니다
엥의 한

 
하지만 "귀를 멍멍하게하다"ko 페이지에 접근하는 "보다 느린 세포를하거나 딘의는"x "를 주 가끔, 동적 시뮬레이션 상태에 따르면"dout는 x "가 항상있을 것입니다.

 
안녕 Jinruan,

>>하지만, 언제 "귀를 멍멍하게하다"ko 페이지에 접근하는 "보다 느린 세포를

속도면 시계에 대한 이건 너무 느리게 실행되는 경우 귀하의 설계.해당 로직을하는 이유가 만들 왜 직류는이.아마 대부분의 회로가 예상 당신은 작은 하나 / 빠르게 비교할 수 있습니다.

>> 딘의의 x는 ""상태 가끔

문제가 있으면이 당신은있다, 당신은 FF로 모델에 대한 개선이 필요합니다."만약"ko를 입력이 "X"가 다른 두 입력의지만 모두 mux가 모두 "0"또는 "1", 그때의 값은해야하는 출력.그것은)는 사용하여이 동작을 모델로 가능한 게이트 (해제 기억이 안나지만 내가 할 수있는 손.

감사합니다
엥의 한

 
>>하지만, 언제 "귀를 멍멍하게하다"ko 페이지에 접근하는 "보다 느린 세포가?

그것은 가장자리의 상승) 상관 없다 "귀를 멍멍하게하다"또는 "클럭 ko를"신호가 도달 길이 처음으로, (같이 CLK 둘 다 그들이하는 안정되기 전에.

그래서 타이밍 경우 합성 만난 다음, 당신은 볼 수 없습니다 "X"가 (알 수 없음)) (표시의 dout 출력.
-------------------------------------------------- -------------------------------------
>> 거기에 결과 코드를 제는 이러한 디자인,하지만 찾아 ... 제가 코드를 합성 잘못이다.

그건 그렇고, 그것은 아마도 더 나은 수동보다 논리를 할 동등한 수표를 대신 도구.(예 Conformal - LEC 또는 예법이 잘 할 수 없어.)

그리고 타이밍을 지연 형식) 파일을 충족하지 표준 (자위대 STA를 (정적 타이밍 분석)에 있는지 확인 게이트 레벨 네트리스트와 대응.

디자인, 마지막으로, 만약 아직 게이트에 문제가 레벨의 시뮬레이션의 존재 이유를 누른 다음 "잘못된"하나 찾아 밖으로 비교 시뮬레이션 결과를 (아마도 파형) 사이와 그 결과 ""기대했다.
-------------------------------------------------- --------------------------------------
희망은 정보 위 이하 또는 수 있도록 있습니다.

 
안녕 엥의 한,

제발 나의 무지를 용서.나는,이)) (dout RN (rst_n),. 질문 하나가 의심에 관한 진술을 SDFFRX1 (. 시를 (ko)를,. SE를 (귀를 멍멍하게하다),. 차원 (1'b0),. 클락 즐거운 (CLK),. == SDFFRX1 (.시 (귀를 멍멍하게하다),. SE는 (ko)를,. 차원 (1'b0),. 클락 즐거운 (CLK),. RN (rst_n),. 질문 (dout));

1'b1이가는대로 당 1'b1 RTL 때마다 ko를 == dout 결과 합성 <= 1'b0;로서 당 딘의 == 1'b1 및 중이다 dout == 1'b1; 그럼 어떻게 합성 결과는 RTL과 같은?전 기능을 SDFFRX1 내가 사용 TSMC0.13G 데이터 시트를 위해하지 않은 대신, 시트를 CSM25 라이브러리 데이터.좀 명확히 pleae?

감사하고 감사합니다
Manoj

 
항상 @ (posedge CLK 또는 negedge rst_n)
(있다면! rst_n)
dout의 <= 1'b0;

/ / 수정 선택 1
또 시작 / /면 rst_n == 1
)면 (ko를
dout의 <= 1'b0;
다른 사람
dout의 <= 귀를 멍멍하게하다;

/ / 수정 선택 2
또 시작
케이스 (ko)를
1'b0 : dout의 <= 귀를 멍멍하게하다;
1'b1 : dout <1'b0;
endcase


난 .. 길이 아니라 어떤 확신 u는 위치 디자인 그리 비트하지만에서가 같았 코딩 좋은 합성기에 대한 ...로 수정 코드 하시다면 코드를 같이 위 중 선택 1 귀하의 경우에는 특히 더 합성 또는 2, 합성기 수 있습니다있을 수 있습니다 말씀으로로 합성하지만 우선 사용 수석 엔지니어의 종류는 무엇 ... 항상 알고 하드웨어 2 싶어 생성 나는 선택의 여지가 말을는 더 안으로 하드웨어를 효율적으로 중요합니다 .. 좋은 방법의 코딩 평행 될 생성 ... btw, 오해 내가 틀렸나면 날

 
난, 코딩 세 가지고 합성의 코드를 스타일과 같은 찾은 그 결과입니다.

 
좀 쓸 생각하려고 수가 :
/ / async_set_reset Synopsys의 "rst_n"
/ / sync_set_reset Synopsys의 "ko를"

항상 @ (posedge CLK 또는 negedge rst_n)
(있다면! rst_n)
dout의 <= 1'b0;
다른 사람)면 (ko를
dout의 <= 1'b0;
다른 사람
dout의 <= 귀를 멍멍하게하다;

 
수 SDFFRX1 도서관에서 귀하의 행동 모델을 붙여?
내가 ManojG와 같은 퍼즐을 가지고

 

Welcome to EDABoard.com

Sponsor

Back
Top