Computer Science/Verilog & HW
Continuous Assignments 연속적인(Continuous) 할당은 dataflow의 가장 basic한 상태이다. 값은 net(wire)로 연결시켜주어야한다. 특징 LHS(left hand side) : a (concatenated) scalar 나 vector여야한다. RHS(right hand side) : reg or net or function calls 항상 작동된 상태이며, 우변의 값이 변경되면 실행된다. 코드 작성 스타일 implicit assignment, declaration보다 explicit declaration 형태로 작성하는 것을 추천한다. // explicit net wire out; assign out = in1 & in2; //implicit net wire out..
AND/OR Gates these gates are instantiated to build logic circuits truth tables assuming two inputs BUF/NOT Gates BUF/NOT gates have one scalar input, several scalar output buf : 입력을 그대로 출력해주는 장치 노이즈가 생겼을 때 버퍼를 통과하면 노이즈가 사라진다. 주목할 점은 z를 넣으면 x가 output으로 나온다. not : 입력을 반대로 출력해주는 장치 output이 2개 이상 있을 수 있다. not n1 (OUT1, OUT2, IN); Gates with an additional control signal on BUF/NOT gates are also avai..
Modules A module is a basic building block consisting of distinct parts. module name, port list, port declarations, optional parameters … SR Latch Example module SR_latch(Q, Qbar, R, Rbar); output Q, Qbar; input R, Rbar; nand n1(Q, Sbar, Qbar); nand n2(Qbar, Q, Rbar); endmodule List of Ports Ports(terminal) provide the interface by which a module can communictaion with its environment. ⇒ the env..
Lexical Conventions ( 어휘 표기법) Whitespace Blank spaces (\n), tabs(\t), and newlines (\n) Comments One line : // Multiple line : /* */ Operator Unary : operand가 한 개 ex) ~(not) Binary : operand가 두 개 ex) &&, +, - … Ternary : operand가 세 개 ex) ? : Number Specification Sized Number ’ 12’habc ⇒ 12bit hexadecimal abc( 4 * 3 ) 4’b0000 ⇒ 4 bit binary 0000 Unsized Number no and 23456 ⇒ 32bit X or Z values X..
Design Methodology (설계 방법론) Top-down Define top-level → Identify sub-blocks → leaf cells Bottom-up Identify building blocks → build bigger cells → top-level Ripple Carry Counter Design 4-bit Ripple Carry Counter : 0000 → 0001 → 0010 → 0011 → 0100 → … → 1111 → 0000 2. Negative edge-triggered toggle flip-flop (T-FF) based counter Top-down design methodologyBuild the T-FFs form the D-FF and an inve..