mirror of https://github.com/YosysHQ/yosys.git
xilinx: Add FDDRCPE and FDDRRSE blackbox cells.
These are necessary primitives for proper DDR support on Virtex 2 and Spartan 3.
This commit is contained in:
parent
40e35993af
commit
871fc34ad4
|
@ -188,6 +188,11 @@ CELLS = [
|
||||||
|
|
||||||
# I/O logic.
|
# I/O logic.
|
||||||
# Virtex 2, Spartan 3.
|
# Virtex 2, Spartan 3.
|
||||||
|
# Note: these two are not officially listed in the HDL library guide, but
|
||||||
|
# they are more fundamental than OFDDR* and are necessary to construct
|
||||||
|
# differential DDR outputs (OFDDR* can only do single-ended).
|
||||||
|
Cell('FDDRCPE', port_attrs={'C0': ['clkbuf_sink'], 'C1': ['clkbuf_sink']}),
|
||||||
|
Cell('FDDRRSE', port_attrs={'C0': ['clkbuf_sink'], 'C1': ['clkbuf_sink']}),
|
||||||
Cell('IFDDRCPE', port_attrs={'C0': ['clkbuf_sink'], 'C1': ['clkbuf_sink'], 'D': ['iopad_external_pin']}),
|
Cell('IFDDRCPE', port_attrs={'C0': ['clkbuf_sink'], 'C1': ['clkbuf_sink'], 'D': ['iopad_external_pin']}),
|
||||||
Cell('IFDDRRSE', port_attrs={'C0': ['clkbuf_sink'], 'C1': ['clkbuf_sink'], 'D': ['iopad_external_pin']}),
|
Cell('IFDDRRSE', port_attrs={'C0': ['clkbuf_sink'], 'C1': ['clkbuf_sink'], 'D': ['iopad_external_pin']}),
|
||||||
Cell('OFDDRCPE', port_attrs={'C0': ['clkbuf_sink'], 'C1': ['clkbuf_sink'], 'Q': ['iopad_external_pin']}),
|
Cell('OFDDRCPE', port_attrs={'C0': ['clkbuf_sink'], 'C1': ['clkbuf_sink'], 'Q': ['iopad_external_pin']}),
|
||||||
|
|
|
@ -5301,6 +5301,34 @@ module DSP48E2 (...);
|
||||||
input RSTP;
|
input RSTP;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
module FDDRCPE (...);
|
||||||
|
parameter INIT = 1'b0;
|
||||||
|
(* clkbuf_sink *)
|
||||||
|
input C0;
|
||||||
|
(* clkbuf_sink *)
|
||||||
|
input C1;
|
||||||
|
input CE;
|
||||||
|
input D0;
|
||||||
|
input D1;
|
||||||
|
input CLR;
|
||||||
|
input PRE;
|
||||||
|
output Q;
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
module FDDRRSE (...);
|
||||||
|
parameter INIT = 1'b0;
|
||||||
|
output Q;
|
||||||
|
(* clkbuf_sink *)
|
||||||
|
input C0;
|
||||||
|
(* clkbuf_sink *)
|
||||||
|
input C1;
|
||||||
|
input CE;
|
||||||
|
input D0;
|
||||||
|
input D1;
|
||||||
|
input R;
|
||||||
|
input S;
|
||||||
|
endmodule
|
||||||
|
|
||||||
module IFDDRCPE (...);
|
module IFDDRCPE (...);
|
||||||
output Q0;
|
output Q0;
|
||||||
output Q1;
|
output Q1;
|
||||||
|
|
Loading…
Reference in New Issue