IT/ASIC | FPGA 2024. 11. 7.
Chiplet 칩릿 or 칩렛 과 UCIe
Chiplet 개념을 쉽게 설명하려면 다음과 같이 접근할 수 있습니다:"칩렛(Chiplet)은 한 개의 큰 칩을 여러 작은 조각으로 나눈 것을 말합니다. 원래 반도체 칩은 한 개의 실리콘 웨이퍼에 모든 기능을 담았지만, 칩이 복잡해질수록 이런 방식이 비효율적이고 비용이 많이 듭니다. 칩렛은 특정 기능을 독립된 작은 칩으로 만들어, 필요한 기능끼리 조합해 하나의 시스템처럼 동작하게 합니다. 이렇게 하면 개별 칩렛을 따로 개발, 제조, 조립할 수 있어서 비용과 개발 시간을 줄일 수 있습니다. 즉, 여러 작은 칩들이 모여 큰 칩처럼 동작하도록 만드는 방법입니다."이렇게 비유할 수 있습니다:"레고 블록처럼 각 부분이 따로 만들어져 서로 조립되는 구조를 생각하면 됩니다. 필요한 기능만 모아 조립할 수 있으니까 유..
IT/파이썬 2024. 10. 28.
타이밍 기초 - 간단한 제약조건 예제 SDC 구문 예제
SDC에서 제약 조건을 설정하는 주요 명령어와 그 목적을 요약하여 표로 정리하면 다음과 같습니다:제약 조건설명예제 명령어클럭 정의클럭의 주기와 특성을 정의하여 타이밍 분석의 기준을 설정합니다.create_clock -name clk -period 10 [get_ports clk]입출력 지연 설정입력과 출력 신호의 지연 시간을 설정하여 외부 환경과의 타이밍을 맞춥니다.set_input_delay -clock clk 5 [get_ports in]멀티사이클 경로특정 경로가 여러 클럭 사이클에 걸쳐 발생하도록 지정합니다.set_multicycle_path -from A -to B 2False Path특정 경로를 타이밍 분석에서 제외합니다.set_false_path -from A -to B클럭 도메인 그룹서로 다..
IT/ASIC | FPGA 2024. 10. 28.
타이밍 기초 - 디자인 요소 common design objects
Here’s a comprehensive summary of common design objects used in Synopsys Design Constraints (SDC), referencing standard usage in digital design:Design ObjectDescriptionExample CommandClocksDefines timing properties for clock signals.create_clock -name clk -period 10PortsInput/Output ports, typically on the top-level module.set_input_delay -clock clk 5 [get_ports in]PinsSpecific signal locations ..
IT/ASIC | FPGA 2024. 10. 28.
타이밍 기초 - DES0001 vs DES0004 Register clock pin
DES_0001: Register clock pin has no clock signal propagating to it 오류는 레지스터의 클럭 핀에 클럭 신호가 제대로 전달되지 않고 있다는 의미입니다. 이는 클럭 신호 경로가 끊기거나 정의되지 않은 경우에 발생하며, 레지스터가 적절한 클럭에 연결되지 않았을 때 발생하는 일반적인 디자인 오류입니다.DES_0004: Register clock pin pin does not have a clock signal that can sensitize the register 오류는 레지스터 클럭 핀에 신호가 있긴 하지만, 해당 신호가 레지스터를 활성화(sensitize)하지 못하는 상황을 나타냅니다. 이와는 달리 DES_0001 오류는 클럭 신호 자체가 클럭 핀에 전혀..
IT/ASIC | FPGA 2024. 10. 28.
타이밍 기초 - Clock clock1 is missing an asynchronous definition CGR_0004
"Clock clock1 is missing an asynchronous definition" 오류는 clock1과 다른 클럭 도메인 간에 비동기(asynchronous) 관계가 명확히 정의되지 않아서 발생하는 문제입니다. 클럭 도메인 간의 비동기 관계는 각 클럭이 독립적으로 동작함을 의미하며, GCA(Galaxy Clock Analyzer)와 같은 툴에서는 이러한 비동기 관계를 명확히 정의해야 신호 전달에서 메타스태빌리티 및 신호 무결성을 유지할 수 있습니다.원인clock1과 다른 클럭이 비동기적으로 동작하지만, 비동기 관계가 정의되지 않아 툴에서 경고를 발생시키는 경우입니다.클럭 정의 또는 경로 설정에서 비동기 크로싱이 명시되지 않았기 때문에 클럭 도메인 간의 신호 전달이 불안정하다고 판단될 수 있습..
IT/ASIC | FPGA 2024. 10. 28.
반도체 기초 - FMEDA 란?
FMEDA는 "Failure Modes, Effects, and Diagnostic Analysis"의 약자로, 제품이나 시스템의 고장 모드를 분석하고 그에 따른 영향을 평가하며, 진단 커버리지를 검토하는 과정을 의미합니다. 주로 안전이 중요한 산업, 예를 들어 자동차나 항공, 의료기기 분야에서 사용됩니다.FMEDA는 다음과 같은 세 가지 요소를 포함합니다:Failure Modes (고장 모드): 시스템의 각 부품이 어떻게 고장날 수 있는지를 파악합니다.Effects (영향 분석): 각 고장이 시스템에 미치는 영향을 분석합니다.Diagnostic Analysis (진단 분석): 고장 감지를 위한 진단 커버리지와 효과적인 진단 방법을 평가합니다.이 분석을 통해 시스템의 신뢰성을 높이고, 위험 요소를 줄이며..
IT/ASIC | FPGA 2024. 10. 25.
반도체 기초 - LBIST vs SCAN
LBIST와 스캔 테스트는 구조와 구현 방식에서 차이가 있으며, 이를 간단한 예제를 통해 설명해 보겠습니다. 예제 1: LBIST (Logic Built-In Self Test) 구현LBIST는 칩 내부에 자가 테스트 회로를 추가하여, 외부 장비 없이 결함을 검출할 수 있습니다. LBIST는 패턴 생성기와 결과 분석기로 구성됩니다.LBIST 간단한 구조module LBIST ( input clk, // 클럭 신호 input reset, // 초기화 신호 output reg [7:0] result // 테스트 결과); reg [7:0] pattern_gen; // 패턴 생성기 reg [7:0] circuit_under_test;..
IT/ASIC | FPGA 2024. 10. 25.
반도체 기초 - DA, BIST, 테스트 관련
반도체 메모리의 DA (Direct Access) Mode와 BIST (Built-In Self Test) Mode는 둘 다 메모리 테스트를 수행하기 위한 방법이지만, 그 목적과 방식에서 차이가 있습니다. 여기에 BIRA, MBIST, LBIST 등 자주 사용하는 테스트 모드를 간단히 비교하여 설명하겠습니다.1. DA (Direct Access) Mode목적: 메모리 셀에 직접 접근하여 특정 패턴을 쓰고 읽는 방식으로 결함을 진단하기 위해 사용됩니다.특징: 설계자가 원하는 특정 주소나 비트에 데이터를 읽고 쓰며, 수동으로 결함 분석을 수행할 수 있습니다.장점: 특정 셀을 타겟으로 하여 결함 위치를 정확히 파악할 수 있음.단점: 수동 방식이기 때문에 자동화가 어렵고 시간이 오래 걸립니다.2. BIST (B..
IT/ASIC | FPGA 2024. 10. 25.
반도체 기초 - BIRA 테스트
"BIRA"는 Built-In Redundancy Analysis의 약자로, 반도체 메모리 설계에서 결함을 분석하고 보정하는 과정을 의미합니다. 메모리 칩은 제조 과정에서 결함이 발생할 수 있으며, 이러한 결함을 관리하기 위해 리던던시 셀 (예비 셀)이 메모리 구조에 추가됩니다. BIRA는 이러한 결함을 자동으로 분석하고 리던던시 셀을 활용하여 결함을 보정하는 데 사용됩니다.BIRA 테스트 절차결함 검사: 메모리 칩의 각 셀을 테스트하여 결함이 있는 셀을 찾습니다. 이는 주로 BIST (Built-In Self Test)와 같은 방법을 통해 이루어집니다.결함 분석: 결함이 발생한 셀의 위치를 분석하고, 리던던시를 어떻게 활용할지 결정합니다. BIRA 알고리즘은 어떤 리던던시 행(row)이나 열(colum..
IT/ASIC | FPGA 2024. 10. 25.
반도체 기초 - ASCII database db 파일
반도체 메모리 모델에서 ASCII 데이터베이스를 활용하는 예제는 Liberty 파일이나 타이밍 모델 파일에서 흔히 볼 수 있습니다. 여기서는 간단한 예제를 통해 어떻게 ASCII 형식으로 데이터를 저장하고 사용하는지 보여드리겠습니다.예제 1: 간단한 메모리 타이밍 모델 (Liberty File)library(memory_model) { cell(memory_cell) { area : 1.2; pin (CLK) { direction : input; capacitance : 0.05; } pin (Q) { direction : output; function : "D"; ..
IT/ASIC | FPGA 2024. 10. 25.
반도체 기초 - nominal, 코너, 조건관련 용어
다른 조건을 표현할 때는 보통 온도, 전압, 공정 변동 등을 기준으로 다양한 코너 (corner) 조건을 설정하여 사용합니다. 주로 쓰이는 조건 표현법은 다음과 같습니다: rc nominal에서 nominal은 특정 조건하에서의 대표적인, 즉 기준 또는 표준 조건을 나타냅니다. 일반적으로 반도체 설계에서 nominal은 온도, 전압, 공정 등의 변수가 일반적인 (대표적인) 상태일 때의 시뮬레이션을 의미합니다. 이를 통해 일반적인 동작 특성을 평가하게 됩니다.rc nominal의 경우, 저항 (R)과 캐패시턴스 (C) 값이 이 표준 조건에 맞춰진 값으로 설정되어 있어, 설계가 기대한 성능대로 동작하는지 확인하기 위해 사용됩니다. Process Corners: 제조 공정의 변동에 따른 조건을 설정하는 것으로..
IT/파이썬 2024. 10. 4.
디렉토리, 파일 목록 가져오기 - dir, ls, glob
파이썬으로 파일을 다루려면 파일 리스트를 통해 파일을 하나씩 가져오는 기능이 필수적이다. 이럴때 사용되는 라이브러리가 히glob 이다. 간단한 예제를 보면 쉽게 이해할 수 있다. https://wikidocs.net/83 6.3 파일을 입맛대로(pickle, glob, os.path)파일을 입맛대로 요리할 수 있도록 여러 가지 비법을 전수해 드리지요. ## pickle 먼저 조금 복잡한 자료를 파일에 쓰고 읽는 방법부터 알아봅시다. 이럴 때는 `pick…wikidocs.net다음은 glob과 함께 os.path 모듈을 사용한 예제입니다.from glob import globfrom os.path import isdirfor x in glob('*'): if isdir(x): ..
IT/파이썬 2024. 10. 4.
문자열 표현시 r'' 의 비밀
r"C:/DIR" 이런 문자열을 본적이 있다. r은 무엇일까? 원시 문자열(Raw String)원시 문자열은 백슬래시를 해석하지 않는 문자열 리터럴이다. 소문자 "r"을 앞에 붙여 원시 문자열임을 나타낸다.>>> rs = r'c:\newdata\test' # 원시(백슬래시를 해석하지 않음)>>> rs'c:\\newdata\\test'문자열은 입력한 그대로의 리터럴 텍스트다. 백슬래시가 특별히 중요할 때 이것을 사용하면 편리하다. 예: 파일명, 정규 표현식(regular expression) 등