DAY 1: https://gall.dcinside.com/board/view/?id=programming&no=2489587

레드스톤 컴파일러 플젝 D 1- 단중장기 목표를 설정해보았습니다.단기: NBT출력, 블록들의 동작 및 제약 설정, 효율적인 표현방법 설계, Simulator, Estimator중기: 게이트 옵티마이저, 레이어링 알고리즘 설계장기: Clock 회로gall.dcinside.com






왼쪽 아래 줄 세 개는 왼쪽부터 각각

OR, NOT, NOR

OR := A ∧ B

NOT := ¬ A

NOR := ¬ (A ∧ B) := NOT(OR)


위쪽 두 개는 왼쪽부터

D Flip Flop

Latch


오른쪽에 있는건 격자형 OR Logic이라 할 수 있는데

디멀티플렉서의 Selector라고 보면 된다


마인크래프트에서 가장 단순한 Logic은 OR과 NOT이다

AND를 구현하려면

A := ¬(¬∧ ¬B)

로 NOT 세 번과 AND로 구현해야 함


FA나 ALU Pipeline같은 더 복잡한 조합회로를 만드려면 최적화가 필요한데

뭐 로직 솔버같은거 대충 튜닝해서 OR이랑 NOT으로만 표현하고 최적화 때리면 되지 않을까 싶음

없으면 OR NOT 표현 만이라도 그래프 표현으로 대충 만들면 되니깐 큰 문제는 아닌 거 같고


3d 공간을 최적으로 사용해서 회로 만드는 건 순차실행+멀티스레드 최적화 문제로 치환해서 풀 수 있지 않을까 생각하고 접근 해보는 중임


각 블럭이 가지는 bidirectional / non-bidirectional 성질도 활용하면 좋을 것 같은데

일단은 모든 블럭들이 non bidirectional 하다고 가정하고 풀어보려고함