VLSI Wiki | Chase Na

VLSI Wiki | Chase Na

Semiconductor Engineer & Tech Expert

Contact

βœ‰οΈ gc@vlsi.kr

Connect

Contents:
  1. Synopsys Design Constraints (SDC)
    1. 1. Definition: What is Synopsys Design Constraints (SDC)?
    2. 2. Components and Operating Principles
      1. 2.1 Timing Constraints
      2. 2.2 Clock Constraints
      3. 2.3 Input and Output Constraints
    3. 3. Related Technologies and Comparison
      1. 3.1 Advantages of SDC
      2. 3.2 Disadvantages of SDC
      3. 3.3 Real-World Examples
    4. 4. References
    5. 5. One-line Summary

Synopsys Design Constraints (SDC)

1. Definition: What is Synopsys Design Constraints (SDC)?

Synopsys Design Constraints (SDC)λŠ” λ””μ§€ν„Έ 회둜 μ„€κ³„μ—μ„œ μ€‘μš”ν•œ 역할을 ν•˜λŠ” μ œμ•½ 쑰건 파일둜, μ„€κ³„μ˜ 타이밍, ꡬ쑰 및 λ™μž‘μ„ μ •μ˜ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. SDCλŠ” VLSI μ‹œμŠ€ν…œμ˜ 섀계 κ³Όμ •μ—μ„œ ν•„μˆ˜μ μœΌλ‘œ μ‚¬μš©λ˜λ©°, μ„€κ³„μžκ°€ 회둜의 μ„±λŠ₯을 μ΅œμ ν™”ν•˜κ³ , 타이밍 μš”κ΅¬ 사항을 μΆ©μ‘±ν•˜λ©°, μ „λ ₯ μ†ŒλΉ„λ₯Ό μ΅œμ†Œν™”ν•˜λŠ” 데 도움을 μ€λ‹ˆλ‹€. SDC νŒŒμΌμ€ 주둜 타이밍 뢄석 도ꡬ와 ν•©μ„± 도ꡬ에 μ˜ν•΄ μ½ν˜€μ§€λ©°, 이듀 λ„κ΅¬λŠ” SDC에 λͺ…μ‹œλœ μ œμ•½ 쑰건에 따라 회둜λ₯Ό μ΅œμ ν™”ν•©λ‹ˆλ‹€.

SDCλŠ” μ—¬λŸ¬ κ°€μ§€ μ€‘μš”ν•œ μš”μ†Œλ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 클럭 μ£ΌκΈ°, 클럭의 경둜, 비동기 μ‹ ν˜Έμ— λŒ€ν•œ μ œμ•½ 쑰건, 그리고 μž…λ ₯ 및 좜λ ₯ ν¬νŠΈμ— λŒ€ν•œ μ œμ•½ 쑰건이 ν¬ν•¨λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ œμ•½ 쑰건은 회둜의 λ™μž‘μ„ λͺ…ν™•νžˆ μ •μ˜ν•˜κ³ , μ„€κ³„μžκ°€ μ˜λ„ν•œ λŒ€λ‘œ νšŒλ‘œκ°€ μž‘λ™ν•˜λ„λ‘ 보μž₯ν•©λ‹ˆλ‹€. SDCλŠ” μ„€κ³„μžκ°€ 회둜의 μ„±λŠ₯을 μ‘°μ •ν•˜κ³ , μ΅œμ ν™”ν•  수 μžˆλŠ” κ°•λ ₯ν•œ λ„κ΅¬μž…λ‹ˆλ‹€. λ”°λΌμ„œ SDCλ₯Ό μ΄ν•΄ν•˜κ³  ν™œμš©ν•˜λŠ” 것은 ν˜„λŒ€μ˜ λ””μ§€ν„Έ 회둜 μ„€κ³„μ—μ„œ ν•„μˆ˜μ μž…λ‹ˆλ‹€.

SDC νŒŒμΌμ€ ASCII ν˜•μ‹μœΌλ‘œ μž‘μ„±λ˜λ©°, νŠΉμ • 문법과 ꡬ쑰λ₯Ό λ”°λ¦…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 클럭 μ£ΌκΈ°λŠ” create_clock λͺ…λ Ήμ–΄λ₯Ό 톡해 μ •μ˜λ˜λ©°, 이 λͺ…λ Ήμ–΄λŠ” 클럭의 주기와 κ΄€λ ¨λœ 정보λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€. λ˜ν•œ, set_input_delay, set_output_delay와 같은 λͺ…λ Ήμ–΄λŠ” μž…λ ₯ 및 좜λ ₯ μ‹ ν˜Έμ˜ μ§€μ—° μ‹œκ°„μ„ μ„€μ •ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ…령어듀은 SDC 파일 λ‚΄μ—μ„œ μ„œλ‘œ μƒν˜Έμž‘μš©ν•˜λ©°, 전체 μ„€κ³„μ˜ 타이밍 νŠΉμ„±μ„ ν˜•μ„±ν•©λ‹ˆλ‹€.

2. Components and Operating Principles

Synopsys Design Constraints (SDC)의 μ£Όμš” ꡬ성 μš”μ†ŒλŠ” 타이밍 μ œμ•½, 클럭 μ œμ•½, 그리고 μž…λ ₯ 및 좜λ ₯ μ œμ•½μœΌλ‘œ λ‚˜λˆŒ 수 μžˆμŠ΅λ‹ˆλ‹€. 이듀 각 ꡬ성 μš”μ†ŒλŠ” λ””μ§€ν„Έ 회둜 μ„€κ³„μ˜ λ‹€μ–‘ν•œ 츑면을 μ œμ–΄ν•˜λ©°, μ„€κ³„μžκ°€ μ›ν•˜λŠ” μ„±λŠ₯을 μ–»κΈ° μœ„ν•΄ ν•„μˆ˜μ μœΌλ‘œ μ„€μ •ν•΄μ•Ό ν•˜λŠ” μš”μ†Œλ“€μž…λ‹ˆλ‹€.

2.1 Timing Constraints

타이밍 μ œμ•½μ€ 회둜의 μ‹ ν˜Έκ°€ νŠΉμ • μ‹œκ°„ 내에 μ•ˆμ •μ μœΌλ‘œ 도달해야 ν•˜λŠ” μš”κ΅¬ 사항을 μ •μ˜ν•©λ‹ˆλ‹€. 이 μ œμ•½μ€ set_max_delay, set_min_delay와 같은 λͺ…λ Ήμ–΄λ₯Ό 톡해 μ„€μ •λ˜λ©°, νŠΉμ • κ²½λ‘œμ—μ„œ μ‹ ν˜Έκ°€ μ§€μ—°λ˜λŠ” μ΅œλŒ€ 및 μ΅œμ†Œ μ‹œκ°„μ„ μ§€μ •ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ 타이밍 μ œμ•½μ€ 회둜의 μ„±λŠ₯을 보μž₯ν•˜λŠ” 데 ν•„μˆ˜μ μ΄λ©°, μ„€κ³„μžκ°€ 회둜의 λ™μž‘μ„ μ΄ν•΄ν•˜κ³  μ΅œμ ν™”ν•˜λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

2.2 Clock Constraints

클럭 μ œμ•½μ€ 회둜의 클럭 μ‹ ν˜Έμ™€ κ΄€λ ¨λœ μš”κ΅¬ 사항을 μ •μ˜ν•©λ‹ˆλ‹€. create_clock λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ 클럭의 μ£ΌκΈ° 및 주파수λ₯Ό μ„€μ •ν•  수 있으며, 이 μ •λ³΄λŠ” 회둜의 λ™μž‘ μ£ΌκΈ°λ₯Ό κ²°μ •ν•©λ‹ˆλ‹€. 클럭 μ œμ•½μ€ 회둜의 λ™μž‘ 속도와 λ°€μ ‘ν•˜κ²Œ μ—°κ΄€λ˜μ–΄ 있으며, μ„€κ³„μžκ°€ μ›ν•˜λŠ” 클럭 μ£ΌνŒŒμˆ˜μ— 따라 회둜의 타이밍을 μ‘°μ •ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

2.3 Input and Output Constraints

μž…λ ₯ 및 좜λ ₯ μ œμ•½μ€ 회둜의 μ™ΈλΆ€ μ‹ ν˜Έμ™€μ˜ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€. set_input_delay 및 set_output_delay λͺ…λ Ήμ–΄λ₯Ό 톡해 μž…λ ₯ 및 좜λ ₯ μ‹ ν˜Έμ˜ μ§€μ—° μ‹œκ°„μ„ μ„€μ •ν•  수 있으며, μ΄λŠ” μ‹€μ œ ν™˜κ²½μ—μ„œ νšŒλ‘œκ°€ μ–΄λ–»κ²Œ λ™μž‘ν• μ§€λ₯Ό κ²°μ •ν•˜λŠ” μ€‘μš”ν•œ μš”μ†Œμž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ œμ•½ 쑰건은 νšŒλ‘œκ°€ λ‹€λ₯Έ νšŒλ‘œμ™€ 연결될 λ•Œ μ‹ ν˜Έμ˜ μ•ˆμ •μ„±μ„ 보μž₯ν•˜λŠ” 데 ν•„μˆ˜μ μž…λ‹ˆλ‹€.

SDC의 운영 μ›λ¦¬λŠ” μ΄λŸ¬ν•œ ꡬ성 μš”μ†Œλ“€μ΄ μ„œλ‘œ μƒν˜Έμž‘μš©ν•˜μ—¬ 회둜의 전체적인 μ„±λŠ₯을 κ²°μ •ν•˜λŠ” λ°©μ‹μœΌλ‘œ μž‘λ™ν•©λ‹ˆλ‹€. μ„€κ³„μžλŠ” SDCλ₯Ό 톡해 회둜의 μš”κ΅¬ 사항을 λͺ…ν™•νžˆ μ •μ˜ν•˜κ³ , 이λ₯Ό λ°”νƒ•μœΌλ‘œ ν•©μ„± 도ꡬ와 타이밍 뢄석 도ꡬ가 졜적의 κ²°κ³Όλ₯Ό λ„μΆœν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.

Synopsys Design Constraints (SDC)λŠ” μ—¬λŸ¬ λ‹€λ₯Έ 기술 및 방법둠과 비ꡐ될 수 μžˆμŠ΅λ‹ˆλ‹€. 특히, SDCλŠ” λ‹€λ₯Έ μ œμ•½ 쑰건 파일 ν˜•μ‹μΈ Constraints Language (SCL) 및 Design Constraints (DC)와 비ꡐ될 수 μžˆμŠ΅λ‹ˆλ‹€. 이듀 각각은 μœ μ‚¬ν•œ λͺ©μ μ„ κ°€μ§€κ³  μžˆμ§€λ§Œ, SDCλŠ” Synopsys νˆ΄μ²΄μΈμ— μ΅œμ ν™”λ˜μ–΄ μžˆμ–΄ 더 λ‚˜μ€ ν˜Έν™˜μ„±κ³Ό μ„±λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

3.1 Advantages of SDC

SDC의 μ£Όμš” μž₯점 쀑 ν•˜λ‚˜λŠ” κ·Έ μœ μ—°μ„±μž…λ‹ˆλ‹€. μ„€κ³„μžλŠ” λ‹€μ–‘ν•œ μ œμ•½ 쑰건을 μ„€μ •ν•  수 있으며, μ΄λŠ” 회둜의 μ„±λŠ₯을 μ„Έλ°€ν•˜κ²Œ μ‘°μ •ν•˜λŠ” 데 도움을 μ€λ‹ˆλ‹€. λ˜ν•œ, SDCλŠ” Synopsys의 λ‹€μ–‘ν•œ 도ꡬ와 μ›ν™œν•˜κ²Œ ν†΅ν•©λ˜λ―€λ‘œ, μ„€κ³„μžκ°€ SDCλ₯Ό μ‚¬μš©ν•˜μ—¬ 회둜의 μ„±λŠ₯을 μ΅œμ ν™”ν•˜λŠ” 데 μžˆμ–΄ λ§Žμ€ 이점을 μ œκ³΅ν•©λ‹ˆλ‹€.

3.2 Disadvantages of SDC

κ·ΈλŸ¬λ‚˜ SDC의 단점도 μ‘΄μž¬ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, SDC νŒŒμΌμ€ νŠΉμ • 문법을 따라야 ν•˜λ―€λ‘œ, 초보 μ„€κ³„μžμ—κ²ŒλŠ” μ§„μž… μž₯벽이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, SDCλŠ” Synopsys λ„κ΅¬μ™€μ˜ ν˜Έν™˜μ„±μ— 쀑점을 두기 λ•Œλ¬Έμ—, λ‹€λ₯Έ EDA λ„κ΅¬μ™€μ˜ ν˜Έν™˜μ„± 문제λ₯Ό κ²ͺ을 수 μžˆμŠ΅λ‹ˆλ‹€.

3.3 Real-World Examples

μ‹€μ œ μ‚¬λ‘€λ‘œλŠ” λŒ€κ·œλͺ¨ VLSI 섀계 ν”„λ‘œμ νŠΈμ—μ„œ SDCκ°€ μ‚¬μš©λ˜λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λͺ¨λ°”일 ν”„λ‘œμ„Έμ„œ μ„€κ³„μ—μ„œ SDCλ₯Ό ν™œμš©ν•˜μ—¬ 클럭 주파수λ₯Ό μ‘°μ •ν•˜κ³ , μ „λ ₯ μ†ŒλΉ„λ₯Ό μ΅œμ ν™”ν•˜λŠ” 과정이 ν¬ν•¨λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν”„λ‘œμ νŠΈμ—μ„œλŠ” SDC의 μ •ν™•ν•œ μ œμ•½ 쑰건 섀정이 성곡적인 섀계 κ²°κ³Όλ₯Ό λ„μΆœν•˜λŠ” 데 ν•„μˆ˜μ μž…λ‹ˆλ‹€.

4. References

  • Synopsys Inc.
  • IEEE (Institute of Electrical and Electronics Engineers)
  • ACM (Association for Computing Machinery)
  • EDA (Electronic Design Automation) κ΄€λ ¨ ν•™νšŒ 및 저널

5. One-line Summary

Synopsys Design Constraints (SDC)λŠ” λ””μ§€ν„Έ 회둜 μ„€κ³„μ—μ„œ 타이밍 및 ꡬ쑰적 μš”κ΅¬ 사항을 μ •μ˜ν•˜μ—¬ 섀계 μ΅œμ ν™”λ₯Ό μ§€μ›ν•˜λŠ” ν•„μˆ˜μ μΈ μ œμ•½ 쑰건 νŒŒμΌμ΄λ‹€.