갤에서 신호 선택하는 회로가 종종 눈에 보이잖아 근데 이거 명백한 단점이 신호비트를 이용하기 때문에 음수값 처리 못한단말이야
근데 음수 쓰고싶을때도 있을테니까 좀 짜증난단말이지
그래서 아예 31비트 자리를 새로운 부호비트로 정한 타입을 생각했고 수학적으로도 뭐 별로 어렵지 않았어
그래서 결론은 지금 그 signed 31비트 <--> signed 32비트 사이에서의 캐스팅 회로를 만들고있는데
부호비트를 제외한 나머지 30비트에 대해서 NOT을 씌우기 위해서 XOR을 쓴단말이야 근데 값이 0이 될 수도 있잖아? 그래서 각각을 쓰기 곤란해
하.. 근데 또 이게 아무 신호나 막 돌아다니는 상황을 보조하는게 목적이니까 결국에 모든 신호를 지원을 해줘야하잖아
이대로 하면 메타정보를 빼낸다음 나중에 다시 신호를 생성해야한다는 소리인데
일단은 각각신호 없이 만들어놓은 문자열 올림
0eNrlmM2OmzAQx9/Fx4qsYvPNYaVIe26lnipVK0SIs7EaDDImahTxAH2PPlmfpDY0WfJBsEm6ROISxdieGf9/eIxnB+brAmeMUA6CHSBxSnMQfN+BnLzRaC2f8W2GQQAIxwkwAI0S2YoY4asEcxJP4jSZExrxlIHSAIQu8E8QwNLotLHAMVlgdtkAKl8NgCknnOA6oqqxDWmRzDETHq7ZMUCW5mJqSqV3YW5ieU+2Abbiny2ciGVylq7DOV5FGyImiFH/zISib1FNzeXTJWE5D89WsiGMF+LJIYh6xCRe4fgHqD3kPJKqTmUjySJWRRaAZzEpLXhWaJid1SazrYiuoDxcsjQJCRU2QMBZgcvaI8XxIXAofxheNLUjooXESMLigvCqWYFqdJvH3RWGN4YxPbVjnQ0UMSDp9OJwdD68bLjeU0WaVJ1Hofrn1+9hucJTrm3gbD1wUA2cqQnO34Mz/ye42TE0OHVN14IeMu9Cr/FaXCS4jNZ5K8KLYjutbJSIXyRjdSTta7myDc67pTvwybG0ETYwCRQZFmyqmMCnfhtLS3j3pk3RJr2tL70zrPSTAbT3bjpJ2rR39LU/5CQ4ltceTvW0N9W0d29IOePRHuppb6lp792Qc8ajvamnvX39o9lX+0by9dG4A6NpfDA1GX378vUjKCE9Sp4aBpn0+h4No81OsEN7Ry07Qdj/aBjtqXyabmDHHR5aHbBcRViof8J6rHw1+/wyyJ4xrp46XXvKV8Rk9iyawEe4et+7HKZ/6YZID4uniOX94r2XQTHRoae2ataSrDlmLRXaDrWKIwxWo1T7euvBUMpiU1XcDRr1ZANsRKzVApEHLddHruN7jul4ZfkXwhKz6Q==
나도 결국은 31비트 signed 쓸 생각이였고 그래서 이것도 만들어야지 하고 있었는데 결국 도달하는 결론은 비슷하네. 근데 XOR을 쓰면서 값이 0이 되는것떔에 각각을 쓰기 곤란하다는게 뭔뜻인지 모르겠네
일단 내가 생각하는 사인확장은 값이 0x40000000이상이면 그냥 0x80000000을 더하면 된다고 생각하고 있음. 입력이 음수인 상황은 아예 없다고 가정하고 있고
진짜 그냥 이렇게 하면 되는구나 난 절댓값 따진다음에 뭘 하고 하고 이렇게 할 생각으로 해서 NOT이 필요했었음
완전판 정리해서 글 새로 올렸음 ㅋㅋ
https://factoriobin.com/post/0aPo1C33
일단은 내가 생각하는 각각신호 버전 올림
만약 함께 돌아다니는 수십 개의 시그널들 중 일부 신호에 대해서는 연산을 하고 싶지 않은 경우라면 애초에 그게 같은 전송 라인에서 돌아다니면 안된다고 생각함. 컨트롤 신호랑 데이터 신호는 최대한 분리하는게 좋을 것 같다
다신호말고 1신호용이면
https://factoriobin.com/post/gZulGRH0
이거 쓰면 1틱 처리 가능하다 ㅋㅋ