library(yosys_cells) { cell(DFF_N) { ff(IQ, IQN) { clocked_on: "!C"; next_state: "D"; } pin(D) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_P) { ff(IQ, IQN) { clocked_on: "C"; next_state: "D"; } pin(D) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_NN0) { ff(IQ, IQN) { clocked_on: "!C"; next_state: "D"; clear: "!R"; } pin(D) { direction: input; } pin(R) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_NN1) { ff(IQ, IQN) { clocked_on: "!C"; next_state: "D"; preset: "!R"; } pin(D) { direction: input; } pin(R) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_NP0) { ff(IQ, IQN) { clocked_on: "!C"; next_state: "D"; clear: "R"; } pin(D) { direction: input; } pin(R) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_NP1) { ff(IQ, IQN) { clocked_on: "!C"; next_state: "D"; preset: "R"; } pin(D) { direction: input; } pin(R) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_PN0) { ff(IQ, IQN) { clocked_on: "C"; next_state: "D"; clear: "!R"; } pin(D) { direction: input; } pin(R) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_PN1) { ff(IQ, IQN) { clocked_on: "C"; next_state: "D"; preset: "!R"; } pin(D) { direction: input; } pin(R) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_PP0) { ff(IQ, IQN) { clocked_on: "C"; next_state: "D"; clear: "R"; } pin(D) { direction: input; } pin(R) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } cell(DFF_PP1) { ff(IQ, IQN) { clocked_on: "C"; next_state: "D"; preset: "R"; } pin(D) { direction: input; } pin(R) { direction: input; } pin(C) { direction: input; clock: true; } pin(Q) { direction: output; function: "IQ"; } } }