1.non-blocking assignments. module add(a, b, y, sel, clk); input a, b; output y; input sel; input clk;reg y; reg k; always @(posedge clk)begin if(sel == 0)begin k
Clock Domain Crossing a.Structual issues(sCDC): 만약 Storage element에서 데이터 입력이 Clock Edge에 너무 가까이에서 바뀐다면(Setup time), 이 Element는 metastable 상태로 갈 것이고 출력은 신뢰 될 수 없다. 비 동기적인 Clock domain crossing은 metastability failure가 되는 특유한 경향이 있다. 이러한 문제들을 해결하기 위해서 회로는 "Buy time"으로 설계되어야 하며, metastable signal은 안정적인 값으로 정착할 수 있도록 하기 위해서 전형적으로 Synchronizer들을 사용한다. Synchronization을 완료한 이후 Synchronizer들이 놓여있는 구조는 여전..
Isolation Cell은 Powered up 또는 down Domain들 사이에서 Interface에 필요하다. Isolation은 Powered down Domain에서 Powered up Domain으로 전달되는 신호들이 Floating 상태가 되기 때문에 적절한 Logic 상태에 있도록 만들어 준다. Isolation Logic은 출력 신호 제어가 필요한 Powered down Domain이나 입력 신호 제어가 필요한 Powered up domain 둘중에 하나로 구현되어 질 수 있다. Output Isolation: 출력 신호를 제어하기 위해서 전원 Off된 domain에 구현.Input Isolation: 입력 신호를 제어하기 위해서 전원 On된 domain에 구현. Signal Isolat..