26.8.7(금) 세션 — LD0 극성 실버그 + 합성기 미니PC 이전 + 화면 지시 5건
논의·대안
페페 지적 = 「실기 연결 on 인데 LD0 토글이 작동 안 한다」로 시작해, 같은 세션에서 합성기(롬 생성)를 노트북 → 미니PC 로 옮기라는 구조 지시와 화면 수정 5건까지 이어졌다. Cmod S7-25 보드의 LED 제어 펌웨어(Verilog)·호스트 앱(Flask+브라우저)·Vivado 툴체인이 한 줄기로 엮인 작업이다.
- LD0 원인 후보 = ①화면 JS 버그 ②프레임 전송 실패 ③펌웨어 파서 ④하드웨어 극성. 자체검사·실브라우저 재현으로 ①~③을 배제하고 Digilent 레퍼런스 매뉴얼 원문("driving the signal low will illuminate")으로 ④를 확정했다.
- 합성기 이전 방식 = ①AMD 사이트 재다운로드+설치(UAC·계정 필요) ②노트북 설치본 복사(계정·UAC 불필요) → ②를 택했다. 41GB 를 tar 스트림으로 밀고 링크는 정션으로 대체했는데, 정션이 Vivado 데이터 로드를 깨뜨려 결국 실디렉터리 복사로 마무리했다.
- LD0 토글 의미(페페 지시가 두 가지로 읽혀 택1) = ①전역 마스터 차단 ②기기 기본값(롬에 굽기) ③보조 표시등 모드 → ①전역 마스터 확정.
- BTN0 전원 기능 = 기존 「다음」을 뺏지 않고 짧게=다음 / 1초 길게=전원 토글로 얹었다.
결정
- RGB LED(LD0)는 액티브 로우 —
rtl/top.vRGB_INV = 1'b1. 단색 4개는 액티브 하이라 한 기판에 극성이 두 가지다. - 테스트벤치는 핀 레벨이 아니라 「켜진 시간」을 센다 — 핀 그대로 세면 뒤집힌 펌웨어도 통과한다. 판별력 있는 채널(0x00·0x20)을 반드시 넣는다.
- 합성기 메인 = 미니PC(페페 지시). 노트북은 임시 처리기 — 프로파일
build_host를 호스트명으로 되돌리면 원격 경로가 부활한다. - Vivado 설치본을 옮길 때
Vivado\{data,gnu,tps}는 링크로 때우지 않는다 — 실디렉터리로 복사한다. - LD0 토글 = 전역 마스터(패턴별 스위치 아님) + LD0 미사용 패턴이면 화면이 그 사실을 말한다.
- 굽는 동안 UART 를 잠근다(
Device.busy) — JTAG 와 같은 FTDI 칩이라 화면의 LIVE 프레임이 굽기를 죽인다.
산출물·커밋
- 펌웨어
rtl/top.v— RGB 극성 ·power마스터(BTN0 롱프레스) · 버튼 1클럭 펄스(btick/bpush/brel) - 앱
app/toolchain.py— 로컬 합성 분기 ·sim()신설 ·find_vivado(synth=True)·_env() - 앱
app/device.py—busy잠금 ·last_frame관측점 /app/server.py—live_feed·/qahelper.js - 화면
app/static/index.html— 킵얼라이브 · LD0 마스터/표시 · SVG<title>툴팁 · 패널 순서 · 스크롤 - 검증 = TB 565 · UI 31 · 체인 14 · toolchain 9 · device 8 · db 7 · server 13 (전부 0 FAIL)
- 기기 = 빌드 FA · 롬 지문 E6F9 · 20칸 · up_to_date
- 커밋 = cmods7 은 git 리포가 아니다(로컬 파일). user_brief 만 커밋.
다음
- 페페 육안 4건(BTN0 짧게/길게 · 파트 툴팁 · LD0 사용 표시 · 레이아웃).
- 백로그 =
?응답에 전원 상태 노출(지금은 화면이 기기 전원 상태를 모른다) · 크롬 백그라운드 탭 타이머 스로틀로 LIVE 가 끊기는 건 미해결(탭을 앞에 둬야 한다).
관계
- 주제 그룹: cmods7
- 관련 문서:
projects/cmods7/handoff.md,C:\dev\cmods7\PLAN.md