| // test comment | |
| /* test comment */ | |
| library(demo) { | |
| cell(BUF) { | |
| area: 6; | |
| pin(A) { direction: input; } | |
| pin(Y) { direction: output; | |
| function: "A"; } | |
| } | |
| cell(NOT) { | |
| area: 3; | |
| pin(A) { direction: input; } | |
| pin(Y) { direction: output; | |
| function: "A'"; } | |
| } | |
| cell(NAND) { | |
| area: 4; | |
| pin(A) { direction: input; } | |
| pin(B) { direction: input; } | |
| pin(Y) { direction: output; | |
| function: "(A*B)'"; } | |
| } | |
| cell(NOR) { | |
| area: 4; | |
| pin(A) { direction: input; } | |
| pin(B) { direction: input; } | |
| pin(Y) { direction: output; | |
| function: "(A+B)'"; } | |
| } | |
| cell(DFF) { | |
| area: 18; | |
| ff(IQ, IQN) { clocked_on: C; | |
| next_state: D; } | |
| pin(C) { direction: input; | |
| clock: true; } | |
| pin(D) { direction: input; } | |
| pin(Q) { direction: output; | |
| function: "IQ"; } | |
| } | |
| cell(DFFSR) { | |
| area: 18; | |
| ff(IQ, IQN) { clocked_on: C; | |
| next_state: D; | |
| preset: S; | |
| clear: R; } | |
| pin(C) { direction: input; | |
| clock: true; } | |
| pin(D) { direction: input; } | |
| pin(Q) { direction: output; | |
| function: "IQ"; } | |
| pin(S) { direction: input; } | |
| pin(R) { direction: input; } | |
| } | |
| } |