전문 · CHAPTER 05

2비트 4상 인코딩과 FPGA 안착 아키텍처

1. 개요

크라우니 진법의 4상(음·옴·티·타)은 2비트 헤더 하나로 완전히 인코딩된다. 2비트가 만드는 네 가지 조합(00·01·10·11)이 4상의 물리적 표현이며, 비트의 에너지 해석(0의 개수 = 낮은 에너지, 1의 개수 = 높은 에너지)이 4상의 계층 순서와 정확히 일치한다. FPGA 위에서 크(Cr)와 카(Ka)를 구현할 때는 이상적인 무리수 값(e, 1/e) 대신 비트 시프트로 표현 가능한 최근접 이진 분수를 영구 하드웨어 상수로 선언하고, 이 선언값과 이상값의 차이(파생 오차)를 Layer 0(음 버퍼)으로 결정론적으로 라우팅한다.

---

2. 2비트 4상 인코딩 스펙

2.1 비트-상 매핑 테이블

2비트 코드상4상 레이어값기능
00음(Um)Layer 0기저오차·잉여·역기전력 흡수. 블랙홀/버퍼 바다. 시스템의 진짜 바닥
01옴(Om)Layer 10동적 중립·대기 (음 위에 떠 있는 평형)
10티(Ti)Layer 2+1팽창·가속·올림(Ceiling) 견인
11타(Ta)Layer 3−1수축·감속·내림(Floor) 자연감쇠

2.2 에너지 계층 일관성

비트 내 1의 개수가 에너지 수준과 단조 증가한다.

  • 00 → 1의 개수 0 → 에너지 최저 → 음(기저)
  • 01 → 1의 개수 1 (하위 비트) → 중립 → 옴
  • 10 → 1의 개수 1 (상위 비트) → 증폭 방향 → 티
  • 11 → 1의 개수 2 → 수축 방향 → 타

이 매핑은 임의 선택이 아니다. 4상 수직 레이어 구조(Layer 0~3)와 비트 코드의 자연 정렬이 일치하도록 설계된 것이다. FPGA의 디코더는 상위 비트 하나로 음/옴(0x) vs 티/타(1x)를 즉시 구분하고, 하위 비트로 세분한다. 추가 룩업 없이 단일 사이클 판정이 가능하다.

2.3 구현 모듈: 사상인코더.한선 (47줄)

함수 위상비트(상이름) {
    만약 상이름 == "음" { 반환 0 }   // 00
    만약 상이름 == "옴" { 반환 1 }   // 01
    만약 상이름 == "티" { 반환 2 }   // 10
    만약 상이름 == "타" { 반환 3 }   // 11
}
함수 비트에서상(코드) {
    만약 코드 == 0 { 반환 "음" }
    만약 코드 == 1 { 반환 "옴" }
    만약 코드 == 2 { 반환 "티" }
    만약 코드 == 3 { 반환 "타" }
}

사상인코더_코어.한선은 위상비트/시프트적용/시프트오차 세 함수만 노출하는 순수 함수 파일이다. 데모 래퍼(사상인코더.한선)가 가져오기 후 출력을 담당한다. 추론엔진 v4.0에서 4코어 가져오기 결합의 일원으로 편입되었다.

---

3. FPGA 안착 — 비트 시프트 상수 선언

3.1 안착 근거

FPGA에서 부동소수점 곱셈기 한 개는 수백 게이트와 수 클럭을 소모한다. 크라우니 진법의 이상값 e=2.71828…과 1/e=0.36788…은 무리수이므로 유한 이진 표현이 불가능하다. 대신, 비트 시프트 덧셈으로 정확히 표현되는 최근접 이진 분수를 FPGA 하드웨어 상수로 선언한다. 남는 오차는 설계 단계에서 음 버퍼 파생으로 명시한다.

3.2 Cr1(크 레벨 1) — FPGA 선언값 2.75

항목값
이상값e ≈ 2.71828
FPGA 선언값2.75
이진 소수 표현10.11
비트 시프트 분해2 + 2⁻¹ + 2⁻²
연산 의사코드result = x + (x >> 1) + (x >> 2)
파생 오차(이상값 기준)+0.0318
파생 오차(×1000 고정소수점)+32
오차 라우팅Layer 0(음 버퍼) 즉시 덤프

비트 시프트 연산 3회 + 정수 덧셈 2회로 구성. 곱셈 게이트 0개. 단일 클럭 완료.

3.3 Ka1(카 레벨 1) — FPGA 선언값 0.375

항목값
이상값1/e ≈ 0.36788
FPGA 선언값0.375
이진 소수 표현0.011
비트 시프트 분해2⁻² + 2⁻³
연산 의사코드result = (x >> 2) + (x >> 3)
파생 오차(이상값 기준)+0.0072
파생 오차(×1000 고정소수점)+7
오차 라우팅Layer 0(음 버퍼) 즉시 덤프

비트 시프트 연산 2회 + 정수 덧셈 1회. 곱셈 게이트 0개. 단일 클럭 완료.

3.4 통합 FPGA 안착 테이블

대상이상값FPGA 선언값이진분수비트시프트 구현음버퍼 파생
Cr12.71822.7510.11x + (x>>1) + (x>>2)+0.0318
Ka10.36780.3750.011(x>>2) + (x>>3)+0.0072

---

4. RTL 구현: rtl/크라우니시프트.v

FPGA RTL 모듈 crowny_shift는 한선씨 모듈 회로합성.한선의 합성 대상이다.

// crowny_shift 핵심 로직 (의사코드 수준 발췌)
// 티(10): x + x>>1 + x>>2 ≈ 2.75x
assign ti_out  = x + (x >> 1) + (x >> 2);
// 타(11): x>>2 + x>>3 ≈ 0.375x
assign ta_out  = (x >> 2) + (x >> 3);
// 옴(01): 원본 유지
assign om_out  = x;
// 음(00): 파생오차 포트
assign err_x1000 = (상코드 == 2) ? 32 : (상코드 == 3) ? 7 : 0;
  • iverilog 검증: 12/12 PASS
  • yosys 합성: 298셀, 0 problems
  • err_x1000 포트: Cr1 오차 +32, Ka1 오차 +7을 상위 회로로 별도 출력하여 음 버퍼 라우팅 연결 지점을 명시함

---

5. 오차 설계 철학 — 음 버퍼 파생

부동소수점 연산에서 오차는 어디로 가는지 알 수 없다(비결정론적). 크라우니 FPGA 방식에서는 선언값과 이상값의 차이(파생 오차)가 설계 단계에서 이미 Layer 0(음 버퍼)으로 라우팅된다. 이것은 정밀도 포기가 아니라 오차의 행선지를 아키텍처에 포함시키는 결정론적 설계다.

연산 예시:

V = 15.7 (입력)
프레임(올림, Cr3=20) → 20
깃든수(내림) → 15
음 덤프 → 20 − 15 = 5

O(1) 처리. 소수점 연산 없음.

---

6. 한선씨 6모듈과 이 장의 위치

이 장이 다루는 내용(2비트 4상 인코딩 + FPGA 시프트 상수)은 6모듈 구현 체계의 2단계B에 해당한다.

단계모듈명역할
1단계크라우니진법.한선프레임/깃든수/음버퍼 계산기
2단계A크라우니진법2.한선감소경로·카(Ka) 미시·균형통합
2단계B사상인코더.한선2비트 4상 인코딩·FPGA Cr1/Ka1 상수
3단계방사형셀코어.한선극좌표 DB (R=크라우니레벨, θ=완성비율)
4단계의미어매핑.한선36핵심어→크라우니벡터 사전
5단계크라우니추론엔진.한선이중 트랙 규칙기반 추론 에이전트

사상인코더_코어.한선은 추론엔진 v4.0의 4코어 가져오기 결합 체계(의미어매핑_코어 + 사상인코더_코어 + 크라우니진법2_코어 + 방사형셀코어_코어)에 편입되어 전체 회귀 9/9 GREEN을 달성했다.

---

7. 格子망 참조 (Cr/Ka 전 레벨)

Level nCrⁿ (실제)호출키(반올림)Kaⁿ×1000 (유효숫자 3)
01.0001—
12.7183368
27.3897135
320.0852050
454.5985518
5148.4131487
6403.4294032
71096.6331096—

Cr7=1096 이상은 소수점 버리고 1의 자리까지 정수 보존(거래 무결성 규칙). Ka 미시: 시작수부터 유효숫자 3자리 보존(언더플로 방지). 소수점 3자리 미만은 음(Um) 영역으로 절단.

---

8. ISA729 / 한선씨 연산 연결

4상 인코딩과 비트 시프트 상수는 ISA729의 방향 오피코드(티·옴·타 트릿)와 1:1 대응한다. 한선씨 VM에서 오른시프트는 2진 ÷2ⁿ이 아니라 3진 ÷3ⁿ(트릿 시프트)이므로 FPGA RTL과 VM 구현의 라운딩 방식이 다를 수 있다. FPGA 합성(yosys/nextpnr-ice40) 파이프라인에서는 회로합성.한선이 Verilog 게이트 수준으로 변환한다. VM 레벨에서의 한선씨 시프트 함수와 RTL 비트 시프트의 동작 차이는 반드시 검증 벤치마크(사상인코더_코어 단위 테스트)로 확인해야 한다.

내 맘 –

독자 게시판 — 함께 읽고 남기는 곳

불러오는 중…

크라우니 책방에 가입하고 무료로 읽기

첫 번째 책은 선물이에요. 가입하면 100맘을 드리니까, 두 번째 책부터 자유롭게 읽을 수 있어요. 친구를 추천하면 50맘도 생겨요.