https://en.wikipedia.org/wiki/Logic_synthesis
https://www.youtube.com/watch?v=WBa2Fw5-yU4&list=PLbMVogVj5nJQe0_9YJlN9S7ktkA8DI-fL
https://www.youtube.com/watch?v=BtM8p5J7Kbc&pp=ygUPTG9naWMgc3ludGhlc2lz
Intro
컴퓨터 공학에서 논리 합성은 레지스터 전송 수준(RTL)과 같은 회로 동작의 추상적인 사양을 논리 게이트로 구현하는 과정입니다. 일반적으로 합성 도구라는 컴퓨터 프로그램이 이 과정을 수행합니다. 이 과정에는 VHDL 및 Verilog와 같은 하드웨어 설명 언어로 지정된 설계의 합성이 포함됩니다. 일부 합성 도구는 PAL 또는 FPGA와 같은 프로그래밍 가능한 논리 장치를 위한 비트스트림을 생성하는 반면, 다른 도구는 ASIC 생성을 대상으로 합니다. 논리 합성은 전자 설계 자동화의 회로 설계 단계 중 하나로, 배치 및 배선, 검증 및 유효성 검사가 다른 단계입니다.
https://www.youtube.com/watch?v=tLVAyfTfTNY&pp=ygUPTG9naWMgc3ludGhlc2lz
History
논리 합성의 뿌리는 George Boole(1815 to 1864)이 다루었던 논리 처리, 즉 지금은 부울 대수라고 불리는 것으로 거슬러 올라갑니다. 1938년 Claude Shannon은 두 값의 부울 대수가 스위칭 회로의 동작을 설명할 수 있음을 보였습니다. 초기에는 진리표 표현을 Karnaugh 맵으로 조작하는 논리 설계가 이루어졌습니다. Karnaugh 맵 기반 논리 최소화는 맵의 항목을 결합할 수 있는 규칙에 의해 안내됩니다.
논리 최소화 자동화를 향한 첫 걸음은 컴퓨터에 구현할 수 있는 Quine-McCluskey 알고리즘의 도입이었습니다. 이 정확한 최소화 기법은 주 함축어와 최소 비용 커버의 개념을 제시했으며, 이는 두 수준 최소화의 핵심이 되었습니다. 요즘에는 훨씬 효율적인 Espresso heuristic logic minimizer가 표준 도구가 되었습니다. 또 다른 초기 연구 분야는 유한 상태 기계(FSM)의 상태 최소화와 인코딩이었는데, 이는 설계자들의 골칫거리였습니다. 논리 합성의 주요 적용 분야는 디지털 컴퓨터 설계였기 때문에 IBM과 Bell Labs가 초기 논리 합성 자동화에 중추적인 역할을 했습니다. 개별 논리 부품에서 프로그래밍 가능한 논리 배열(PLA)로의 발전은 두 수준 최소화의 필요성을 더욱 가속화했는데, 두 수준 표현의 항을 최소화하면 PLA의 면적이 줄어들기 때문입니다.
2 level 논리 회로는 초대규모 집적(VLSI) 설계에서는 중요성이 낮은데, 대부분의 설계가 다중 수준의 논리를 사용하기 때문입니다. RTL 또는 행동 설명으로 표현된 거의 모든 회로 표현이 다중 수준 표현입니다. 다중 수준 회로를 설계하는 초기 시스템은 IBM의 LSS였습니다. 이는 지역 변환을 사용하여 논리를 단순화했습니다. LSS와 Yorktown Silicon Compiler에 대한 연구가 1980년대 논리 합성 분야의 급속한 발전을 이끌었습니다. 여러 대학이 연구 성과를 공개함으로써 기여했는데, 특히 UC 버클리의 SIS, UCLA의 RASP, 콜로라도 대학의 BOLD 등이 주목할 만했습니다. 10년 만에 이 기술이 전자 설계 자동화 기업의 상용 논리 합성 제품으로 이전되었습니다.
https://www.youtube.com/watch?v=Jrqf2ITe82I&list=PL-ZEzHJ7ohog3JZtYCuY6H4NgCuqKce4R
Commercial tools
주요 논리 합성 소프트웨어 패키지 개발 및 공급 업체는 Synopsys, Cadence, Siemens입니다. 그들의 합성 도구는 각각 Synopsys Design Compiler, Cadence First Encounter, Siemens Precision RTL입니다.
Logic elements
논리 설계는 전자 회로의 기능적 설계를 논리 연산, 산술 연산, 제어 흐름 등을 캡처하는 표현으로 변환하는 단계입니다. 이 단계의 일반적인 출력은 RTL 설명입니다. 논리 설계는 일반적으로 회로 설계 단계에 따릅니다. 현대 전자 설계 자동화에서는 회로의 행동 설명을 기반으로 하는 고수준 합성 도구를 사용하여 논리 설계의 일부를 자동화할 수 있습니다.
논리 연산은 일반적으로 부울 AND, OR, XOR, NAND 연산으로 구성되며, 전자 회로에서 가장 기본적인 형태의 연산입니다. 산술 연산은 일반적으로 논리 연산자를 사용하여 구현됩니다.
https://www.youtube.com/watch?v=GIPhBfenqMc&list=PLZU5hLL_713x0_AV_rVbay0pWmED7992G
High-level or behavioral
설계자 생산성 향상을 목표로 하는 행동 수준 회로 합성에 대한 연구 노력은 2004년 상용 솔루션의 등장으로 이어졌습니다. 이러한 도구는 ANSI C/C++ 또는 SystemC와 같은 고수준 언어로 지정된 회로를 자동으로 레지스터 전송 수준(RTL) 사양으로 합성합니다. RTL 논리 합성과 달리, 고수준 합성에서는 클록 주기와 부동 소수점 ALU와 같은 구조 구성 요소에 대한 작업 할당이 컴파일러의 최적화 절차에 의해 수행됩니다.
Multi-level logic minimization
일반적인 실용적인 논리 기능 구현은 다수준 논리 요소 네트워크를 활용합니다. RTL 설명에서 시작하여 합성 도구는 해당 다중 수준 부울 네트워크를 구축합니다.
그런 다음 기술 종속적 최적화가 수행되기 전에 기술 독립적 기법을 사용하여 이 네트워크를 최적화합니다. 기술 독립적 최적화 동안의 일반적인 비용 함수는 논리 기능의 인수화된 표현의 총 문자 수입니다(회로 면적과 잘 상관함).
마지막으로 기술 종속적 최적화는 기술 독립적 회로를 주어진 기술의 게이트 네트워크로 변환합니다. 단순한 비용 추정치는 기술 맵핑 중과 이후에 더 구체적이고 구현 주도적인 추정치로 대체됩니다. 맵핑은 기술 라이브러리의 사용 가능한 게이트, 각 게이트의 구동 크기, 지연, 전력 및 면적 특성 등의 요인에 의해 제한됩니다.
https://www.youtube.com/watch?v=4BZ6t2d3rJM&pp=ygUPTG9naWMgc3ludGhlc2lz
'반도체 > 회로설계' 카테고리의 다른 글
[📚세미피디아] Functional verification이란? (0) | 2024.04.09 |
---|---|
[📚세미피디아] High-level synthesis란? (0) | 2024.04.08 |
[📚세미피디아] EDA Tool이란? (0) | 2024.04.08 |
[📚세미피디아] ESL [Electronic System Level] 설계 및 검증 (0) | 2024.04.08 |
[📚세미피디아] 집적회로설계란? Integrated circuit design (2) | 2024.04.06 |