profile
RTL, FPGA Engineer
post-thumbnail

Little’s Theorem

핵심 공식: L = λ × W가장 먼저 기억해야 할 절대 공식입니다. 세 가지 변수의 관계를 나타냅니다.L (Average number of items): 큐잉 시스템(Queuing system) 안에 머물고 있는 평균 항목의 수 (예: 줄 서 있는 사람 수, 대기 중

3일 전
·
0개의 댓글
·
post-thumbnail

Thread Sleeping, Timer

CPU가 쉴 틈 없이 while(1)을 도는 스핀락(Spinlock)의 낭비를 막기 위해, 스레드 스스로 "나 1초 동안 기절할 테니까, 내 차례 건너뛰고 다른 애들 먼저 실행시켜 줘!"라고 운영체제에 양보하는 우아한 기술입니다.교수님이 슬라이드 하단에 적어둔 글은 "

3일 전
·
0개의 댓글
·
post-thumbnail

FIFO implementation

그림을 보면 지시봉(PutPt와 GetPt)이 배열의 맨 아래(노란색 칸)까지 내려갔다가, 다음 번에는 배열의 맨 위(첫 번째 칸)로 휙! 하고 꺾여서 올라가는 화살표가 보이시죠?이것이 바로 메모리 낭비와 폭발을 막아주는 환형 큐의 핵심입니다.수정 사항 1 & 2: P

4일 전
·
0개의 댓글
·

Assembly 2 C language

가장 기본입니다. 어셈블리의 단순한 상수 정의(EQU)를 C 언어에서는 "이 주소는 메모리가 아니라 하드웨어 핀이니까 맘대로 최적화하지 말고 직접 건드려!"라는 뜻의 volatile 포인터로 캐스팅해야 합니다.Assembly:C Language:임베디드에서 가장 많이

2026년 3월 17일
·
0개의 댓글
·

APB Reset Handling

Driver (일꾼): 리셋이 눌려도 눈치채지 못하고, 쥐고 있던 핀(Pin)에 계속 쓰레기 값을 밀어 넣습니다.Sequencer (조감독): 일꾼이 "택배 배달 완료(item_done)" 보고를 해야 다음 상자를 주는데, 일꾼이 리셋 때문에 멈춰버리면 조감독은 영원히

2026년 3월 17일
·
0개의 댓글
·
post-thumbnail

APB coverage

역할: "우리가 지금까지 무엇을 검증했는가?"에 대한 통계 장부를 작성하는 서기(Recorder)입니다.데이터 출처: 스스로 버스를 관찰하지 않습니다. 모니터(Monitor)가 버스를 훔쳐보고 확성기(uvm_analysis_port)로 방송하는 '관찰 보고서'를 주워와

2026년 3월 17일
·
0개의 댓글
·
post-thumbnail

APB Protocol Checks, SVA

우리가 검증하는 칩(DUT)의 내부 로직이 어떻게 생겼든 상관없이, "AMBA APB 표준 스펙 문서를 완벽하게 준수하고 있는가?"를 감시하는 절대적인 규칙들입니다.스펙 문서의 문장 하나하나를 꼼꼼히 뜯어보면서 "이건 규칙으로 만들 수 있겠다!" 하고 뽑아내는 과정이

2026년 3월 16일
·
0개의 댓글
·
post-thumbnail

APB monitor

"드라이버가 대본을 받아 핀을 흔들면 ➔ 모니터는 핀을 훔쳐봐서 모니터 전용 상자에 담고 ➔ 확성기(Analysis Port)를 통해 채점기(Scoreboard)로 쏴준다!"모니터의 유일한 목표는 "버스의 핀 상태를 관찰해서 다시 소프트웨어 택배 상자(Item)로 포장

2026년 3월 16일
·
0개의 댓글
·
post-thumbnail

APB Driver, algn_test_reg_access

앞서 우리가 설계했던 대본의 택배 상자(cfs_apb_item_drv) 안에는 APB Master가 제어해야 할 필수 정보들(addr, wr_data, direction, delay)이 들어있습니다.이제 uvm_info로 화면에 출력만 하던 코드를 싹 지우고, 저 상자

2026년 3월 16일
·
0개의 댓글
·

APB sequence code

작성하신 5개의 파일은 완벽하게 '조감독 1명'과 '대본 4세트'로 나뉩니다. 이 5개 파일의 계층 구조(족보)와 각각의 역할을 직관적인 다이어그램으로 먼저 보여드릴게요.APB Sequence 5형제 구조도파일별 완벽 역할 해부역할: 대본(Sequence)과 일꾼(Dr

2026년 3월 15일
·
0개의 댓글
·
post-thumbnail

Mid Term Example

1) Please draw the general structure inside Round 1 of DES (i.e., the Feistel network for Round 1).2) Please draw the general structure of AES within

2026년 3월 11일
·
0개의 댓글
·
post-thumbnail

Cyber HW

We consider the ring ℤ4. Construct a table which describes the addition of all elements in the ring with each other:(1) Construct the multiplication t

2026년 3월 10일
·
0개의 댓글
·
post-thumbnail

Review of DLP

![](https://velog.velcdn.com/images/houston_guy2/post/c6f35dd6-5879-4f4f-a51b-112af0d03c

2026년 3월 10일
·
0개의 댓글
·
post-thumbnail

Extending MIPS for FP Pipeling

FP operations are long and cannot be completed in 5 cycles (EX lasts more than 1 cycle)• Simply imagine that EX stage is duplicated for FP기존 정수 연산(덧셈

2026년 3월 10일
·
0개의 댓글
·
post-thumbnail

Delayed Branches

Compiler reorders instructions so that the nextinstruction after the branch is:– Useful in most cases– Harmless both in taken and not taken case– Disa

2026년 3월 3일
·
0개의 댓글
·
post-thumbnail

Square-and-Multiply algorithm, Diffie-Hellman Key Exchange

지수가 $2^{1024}$처럼 거대할 때, 곱셈 횟수를 획기적으로 줄여 컴퓨터가 실시간으로 계산할 수 있게 해주는 마법 같은 알고리즘입니다.동작 원리1\. 이진수 변환: 먼저 지수(Exponent)를 이진수(Binary Number)로 변환합니다. (예: $26 \\r

2026년 3월 3일
·
0개의 댓글
·

Static Techniques to Reduce Branch Penalties

Control Hazards 근본적인 문제: 분기문(Branch)의 딜레마 파이프라인은 명령어를 쉬지 않고 연속해서 가져와야(Fetch) 속도가 빠릅니다. 그런데 if문 같은 분기명령어(Branch)를 만나면 다음 두 가지를 알아내기 전까지는 다음 명령어를 제대로 가져올 수 없습니다. Target Address (목적지 주소): 그래서 어디로 점프할 건데...

2026년 2월 26일
·
0개의 댓글
·
post-thumbnail

Rendezvous, FIFO

두 스레드(Thread 1, Thread 2)가 각자 일을 하다가 특정 지점에서 만나 동시에 다음 작업을 시작(Rendezvous, 랑데부)하도록 맞추는 기술입니다.원리: 두 개의 세마포어(S1, S2)를 모두 0으로 초기화하여 사용합니다. 먼저 도착한 스레드는 상대방

2026년 2월 25일
·
0개의 댓글
·
post-thumbnail

Blocking semaphore, scheduler

이전 Lab 2에서는 세마포어 값이 무조건 0 아니면 양수였습니다. 하지만 진짜 블로킹 세마포어에서는 값이 음수(-)로 떨어질 수 있으며, 이 음수 값이 대기자의 수를 의미합니다.Wait 함수 논리s = s - 1을 먼저 실행합니다.만약 s < 0이 되었다면? 자

2026년 2월 25일
·
0개의 댓글
·
post-thumbnail

Cooperative Multitasking

시간 낭비의 주범: 앞선 챕터에서 세마포어를 구현할 때 사용한 스핀락(while(s == 0))은 자원을 얻지 못하면 자신의 할당 시간(Time Slice, 예: 1ms)이 끝날 때까지 CPU를 붙잡고 아무 의미 없는 대기만 하며 시간을 낭비했습니다.해결책 (협력과 블

2026년 2월 25일
·
0개의 댓글
·