2013-06-18 3 views
1

두 개의 숫자를 수정 한 간단한 Verilog 코드가 있습니다. 45와 46. 그들을 곱하고 출력을 보여줍니다. Verilog 코드를 작성하여 간단한 작업을 수행했습니다.

그러나 합성 후 시뮬레이션 모델을 생성하면 합성 보고서에 타이밍 분석이 표시되지 않습니다. 그러나 변수가 입력 일 경우 회로의 논리 및 라우팅 시간을 찾습니다.고정 입력에 대한 Verilog 타이밍 분석

고정 입력을 위해 생성 된 회로에 대한 이러한 측정 항목에 관심이 있습니다.

module SimpleMult(
    outProd 
    ); 
    reg signed[7:0] mult1; 
    reg signed[7:0] mult2; 
    output reg signed[15:0]outProd; 
    initial begin 
    mult1 = 45; 
    mult2 = 46; 
    end 

    [email protected](*) begin 
    outProd = mult1 * mult2; 
    end 
endmodule 

내가 타이밍 분석이 작동 얻을 수 어쨌든 있나요 :

이 내 코드?

+1

나는 (아날로그 시뮬레이션없이) 얻을 수있는 최상의 근사치는 (STA 동안) 입력의 분석 된 값을 0,0과 45로 제한하는 방법을 찾으면 얻을 수 있다고 생각합니다. 46. 하지만 STA 도구가이 기능을 지원하는지 여부는 알 수 없습니다. – Vasiliy

+0

어떤 도구를 사용하고 있습니까? –

답변

4

여기에서 직면하는 문제는 상수의 곱셈이 상수이므로 타이밍이 없다는 것입니다.

타이밍을 측정하는 방법은 2 입력으로 곱셈기를 합성하는 것입니다. 그런 다음 SDF 타이밍 정보를 포함한 게이트 레벨 sim을 수행하십시오. 두 입력을 모두 0에서 고정 값으로 가져옵니다. 파형 편집기에서 당신은 곱셈기의 출력에서 ​​리플을 볼 수 있어야합니다. 새로운 입력부터 정착 된 출력까지의 시간을 측정하십시오.

실리콘 타이밍이 매우 가변적이므로 실리콘을 빠르게 또는 느리게 (또는 중심에) 배치 할 수 있습니다. 온도 또한 타이밍에 영향을 미칩니다. 적어도 두 개의 코너 인 Max와 Min을 사용하여 시뮬레이션을 실행해야합니다. 고정 입력에서 안정적인 결과로 전환하는 데 최대 및 최소 시간이 소요됩니다.

또한이 방법에서 사용되는 타이밍이 0부터 시작한다는 사실을 알고 있습니다. 시작 조건이 다르면 다를 것입니다.

입력 값 0과 고정 값을 가진 두 개의 LUT (Look Up Tables)를 사용하고 신스 도구가하는 것을 볼 수 있습니다. 가능성이 0 인 LUT와 그 답을 최적화 할 것입니다.

+0

좋은 답변입니다.입력 포트에서만 순간 전환을 정의하는 방법이 있습니까 (이 경우 "제로 지연"이라는 용어를 사용하고 있습니까?)? 그렇지 않으면, 입력 지연의 영향을 최소화하기 위해 어떤 예방 조치를 취해야합니까? – Vasiliy

+0

@VasiliyZukanov 타이밍 분석은 전문 분야가 아니므로 새로운 질문은 더 나은 응답을 얻을 수 있습니다. 이를 염두에두고 하드웨어를 타겟으로 한 합성 네트리스트의 동작/실제 타이밍을 시뮬레이션/조사하는 경우는 명확하지 않습니다. 나는 테스트 벤치에서 구동되는 인풋이 순간적 일 것이라고 기대한다. – Morgan

+0

"나는 테스트 벤치에서 구동되는 인풋이 즉시있을 것으로 기대한다"- 이것은 내가 찾고 있었던 해답이다. 나는 GLS에 익숙하지 않고 웹에서 몇 가지 논문에 대한 간단한 리뷰를 작성하여 테스트 벡터의 타이밍을 제어 할 수 있는지 이해할 수 없었다. 감사합니다. – Vasiliy

2

시간 분석을위한 입력이 필요합니다.

신디사이저는 mult1mult2이 상수라는 것을 알고 있습니다. outProd은 상수에만 의존하므로 outProd은 상수에 최적화됩니다. 상수에는 타이밍 정보가 없습니다.

+0

나는 이해한다. 그러나, 모듈이 2 개의 특정 숫자의 곱을 계산하는 데 걸리는 총 시간을 찾고 싶습니다. mult1과 mult2를 입력으로 설정하면 최대 조합 경로를 계산하고 8x8 비트 승수에 대한 일반 타이밍 분석을 제공합니다. 이 문제에 대해 어떤 생각이나 제안이 있습니까? –

+0

@PrashantVaidyanathan 측정 할 시점은 어떻게됩니까? 시간 0을 포함하여 주어진 시간에 값은 동일합니다. 하나의 값을 하나의 상수로 만들고 다른 하나의 입력 (또는 특정 비트 만 입력 또는 상수로 사용)으로 가능한 범위를 제한하지만 '45 * 46'으로만 제한 할 수 없습니다. 45와 46에 할당하기 전에 고정 값을 '8'hx','# 0'으로 할당 해 볼 수 있습니다. 신시사이저는 오류를 주거나 최적화합니다. 아날로그 시뮬레이터를 사용하고 공급 전압을 램핑하면 타이밍을 얻을 수 있지만, 램프 속도는 함수로 사용됩니다. – Greg