//3-8
report_timing -max_paths 2 (-nworst 1) >> Slack -0.3 & -0.15
report_timing -nworst 2
//3-10
report_timing -max_paths 4 -to FF4/D
end point가 하나이고 기준이기에 Worst case 1개 나타남
+start point는 input pin이 될 수 있고 FF1,2 clk가 될 수 있음
//3-11
-group : clk이 여러 개 사용될 때
-slack_lesser_than, -slack_greater_than >> 사용자가 설정해줌
//3-13
1. clk라는 port가 없기에 x
2. clk라는 FF에 clk로 들어가기에 1개
(중요) 클럭의 이름은 바꿀 수 있음.
위의 clk는 클럭이 아니고 이름, clk가 뭔지 모름 >> Nothing
start 키면 end 찾음
end 키면 start 찾음
//3-15
unate
두가지 경로가 있을 때 경로가 확정된 것(unate)만 worst case로 나옴
//3-16
두가지 경로가 다 non-unate로 있을 때 두 경로를 비교해서 worst case 찾음
//3-17
앞의 내용의 해결법은 e.p를 지정해주면 해결
//3-18,19
r.e(디폴트값) > f.e으로 바꿔서 볼라면
report_timing -fall_to [get_clocks CLK1]
//3-21
-through 라는 옵션은 특정 논리 경로를 지정하여 해당 경로를 통과하는 레이턴시 정보 확인 >> 특정한 경로를 통과하는 시점이나 도착 시간 제약을 분석할 수 있음
//3-22
start point가 정해지면 FF1_D 선택
그렇기에 위 문제의 명령어는 두 개로 나눠짐
//3-23
이러한 design rule들은 회로의 안정성, 성능, 속도 등을 고려하여 정의되며, 회로 설계자들은 이러한 제약을 준수하면서 최적의 회로를 설계하는 데 주의를 기울여야 함
//4-4(중요)
위의 그림은 두개로 나눠서 생각하면 좋음
핀
//4-5
path group : async_default
//4-6
report_timing -delay max_fall -to FF2/ClrN
ClrN은 이름이기에 D로 인식함 >> No constrained paths
//4-8
Gate clock은 소비전력을 줄이기 위해 사용
p=1/2 C V^ * f
정리해서 기본 CLK로 사용하면 현재 사용하지 않는 FF도 활성화가 되어 전력 소모 현상이 나타나는데, CLK와 연결된 Clock Gate를 사용하면 불필요한 전력소모를 줄일 수 있다.
//4-11
Data to data check 의 목적 : CLK이 아닌 두 개의 데이터 신호 간에 타이미이이나 논리적인 관계를 확인하는 작업