📄 io_lvds_synopsys.v
字号:
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n;
INV inv_n (.I(D), .O(D_n));
LDCE olatch_p (.D(D), .GE(GE), .G(G), .CLR(CLR), .Q(q_p));
LDPE olatch_n (.D(D_n), .GE(GE), .G(G), .PRE(CLR), .Q(q_n));
LDPE tri_p (.D(T), .GE(GE), .G(G), .PRE(CLR), .Q(t_p));
LDPE tri_n (.D(T), .GE(GE), .G(G), .PRE(CLR), .Q(t_n));
OBUFT_LVDS pad_p (.I(q_p), .T(t_p), .O(O));
OBUFT_LVDS pad_n (.I(q_n), .T(t_n), .O(OB));
endmodule // OBUFTDS_LDCE_LVDS
module OBUFTDS_LDP_LVDS (D,T,G,PRE,O,OB);
input D, T, G, PRE;
output O,OB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute OBUFTDS_LDP_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n;
INV inv_n (.I(D), .O(D_n));
LDP olatch_p (.D(D), .G(G), .PRE(PRE), .Q(q_p));
LDC olatch_n (.D(D_n), .G(G), .CLR(PRE), .Q(q_n));
LDP tri_p (.D(T), .G(G), .PRE(PRE), .Q(t_p));
LDP tri_n (.D(T), .G(G), .PRE(PRE), .Q(t_n));
OBUFT_LVDS pad_p (.I(q_p), .T(t_p), .O(O));
OBUFT_LVDS pad_n (.I(q_n), .T(t_n), .O(OB));
endmodule // OBUFTDS_LDP_LVDS
module OBUFTDS_LDPE_LVDS (D,T,GE,G,PRE,O,OB);
input D, T, GE, G, PRE;
output O,OB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute OBUFTDS_LDPE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n;
INV inv_n (.I(D), .O(D_n));
LDPE olatch_p (.D(D), .GE(GE), .G(G), .PRE(PRE), .Q(q_p));
LDCE olatch_n (.D(D_n), .GE(GE), .G(G), .CLR(PRE), .Q(q_n));
LDPE tri_p (.D(T), .GE(GE), .G(G), .PRE(PRE), .Q(t_p));
LDPE tri_n (.D(T), .GE(GE), .G(G), .PRE(PRE), .Q(t_n));
OBUFT_LVDS pad_p (.I(q_p), .T(t_p), .O(O));
OBUFT_LVDS pad_n (.I(q_n), .T(t_n), .O(OB));
endmodule // OBUFTDS_LDPE_LVDS
// *********************************
// Start of the Input/Output Buffers
// IO Buffer Flipflops
// *********************************
module IOBUFDS_FD_LVDS (D,T,C,Q,IO,IOB);
input D, T, C;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FD_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
wire CLR = 0;
INV inv_n (.I(D), .O(D_n));
FDC off_p (.D(D), .C(C), .CLR(CLR), .Q(q_p));
FDP off_n (.D(D_n), .C(C), .PRE(CLR), .Q(q_n));
FDP tri_p (.D(T), .C(C), .PRE(CLR), .Q(t_p));
FDP tri_n (.D(T), .C(C), .PRE(CLR), .Q(t_n));
FDC iff_p (.D(i_p), .C(C), .CLR(CLR), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FD_LVDS
module IOBUFDS_FDE_LVDS (D,T,CE,C,Q,IO,IOB);
input D, T, CE, C;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
wire CLR = 0;
INV inv_n (.I(D), .O(D_n));
FDCE off_p (.D(D), .CE(CE), .C(C), .CLR(CLR), .Q(q_p));
FDPE off_n (.D(D_n), .CE(CE), .C(C), .PRE(CLR), .Q(q_n));
FDPE tri_p (.D(T), .CE(CE), .C(C), .PRE(CLR), .Q(t_p));
FDPE tri_n (.D(T), .CE(CE), .C(C), .PRE(CLR), .Q(t_n));
FDCE iff_p (.D(i_p), .CE(CE), .C(C), .CLR(CLR), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDE_LVDS
module IOBUFDS_FDC_LVDS (D,T,C,CLR,Q,IO,IOB);
input D, T, C, CLR;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDC_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
FDC off_p (.D(D), .C(C), .CLR(CLR), .Q(q_p));
FDP off_n (.D(D_n), .C(C), .PRE(CLR), .Q(q_n));
FDP tri_p (.D(T), .C(C), .PRE(CLR), .Q(t_p));
FDP tri_n (.D(T), .C(C), .PRE(CLR), .Q(t_n));
FDC iff_p (.D(i_p), .C(C), .CLR(CLR), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDC_LVDS
module IOBUFDS_FDCE_LVDS (D,T,CE,C,CLR,Q,IO,IOB);
input D, T, CE, C, CLR;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDCE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
FDCE off_p (.D(D), .CE(CE), .C(C), .CLR(CLR), .Q(q_p));
FDPE off_n (.D(D_n), .CE(CE), .C(C), .PRE(CLR), .Q(q_n));
FDPE tri_p (.D(T), .CE(CE), .C(C), .PRE(CLR), .Q(t_p));
FDPE tri_n (.D(T), .CE(CE), .C(C), .PRE(CLR), .Q(t_n));
FDCE iff_p (.D(i_p), .CE(CE), .C(C), .CLR(CLR), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDCE_LVDS
module IOBUFDS_FDP_LVDS (D,T,C,PRE,Q,IO,IOB);
input D, T, C, PRE;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDP_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
FDP off_p (.D(D), .C(C), .PRE(PRE), .Q(q_p));
FDC off_n (.D(D_n), .C(C), .CLR(PRE), .Q(q_n));
FDP tri_p (.D(T), .C(C), .PRE(PRE), .Q(t_p));
FDP tri_n (.D(T), .C(C), .PRE(PRE), .Q(t_n));
FDP iff_p (.D(i_p), .C(C), .PRE(PRE), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDP_LVDS
module IOBUFDS_FDPE_LVDS (D,T,CE,C,PRE,Q,IO,IOB);
input D, T, CE, C, PRE;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDPE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
FDPE off_p (.D(D), .CE(CE), .C(C), .PRE(PRE), .Q(q_p));
FDCE off_n (.D(D_n), .CE(CE), .C(C), .CLR(PRE), .Q(q_n));
FDPE tri_p (.D(T), .CE(CE), .C(C), .PRE(PRE), .Q(t_p));
FDPE tri_n (.D(T), .CE(CE), .C(C), .PRE(PRE), .Q(t_n));
FDPE iff_p (.D(i_p), .CE(CE), .C(C), .PRE(PRE), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDPE_LVDS
module IOBUFDS_FDR_LVDS (D,T,C,R,Q,IO,IOB);
input D, T, C, R;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDR_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
FDR off_p (.D(D), .C(C), .R(R), .Q(q_p));
FDS off_n (.D(D_n), .C(C), .S(R), .Q(q_n));
FDS tri_p (.D(T), .C(C), .S(R), .Q(t_p));
FDS tri_n (.D(T), .C(C), .S(R), .Q(t_n));
FDR iff_p (.D(i_p), .C(C), .R(R), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDR_LVDS
module IOBUFDS_FDRE_LVDS (D,T,CE,C,R,Q,IO,IOB);
input D, T, CE, C, R;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDRE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
FDRE off_p (.D(D), .CE(CE), .C(C), .R(R), .Q(q_p));
FDSE off_n (.D(D_n), .CE(CE), .C(C), .S(R), .Q(q_n));
FDSE tri_p (.D(T), .CE(CE), .C(C), .S(R), .Q(t_p));
FDSE tri_n (.D(T), .CE(CE), .C(C), .S(R), .Q(t_n));
FDRE iff_p (.D(i_p), .CE(CE), .C(C), .R(R), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDRE_LVDS
module IOBUFDS_FDS_LVDS (D,T,C,S,Q,IO,IOB);
input D, T, C, S;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDS_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
FDS off_p (.D(D), .C(C), .S(S), .Q(q_p));
FDR off_n (.D(D_n), .C(C), .R(S), .Q(q_n));
FDS tri_p (.D(T), .C(C), .S(S), .Q(t_p));
FDS tri_n (.D(T), .C(C), .S(S), .Q(t_n));
FDS iff_p (.D(i_p), .C(C), .S(S), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDS_LVDS
module IOBUFDS_FDSE_LVDS (D,T,CE,C,S,Q,IO,IOB);
input D, T, CE, C, S;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_FDSE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
FDSE off_p (.D(D), .CE(CE), .C(C), .S(S), .Q(q_p));
FDRE off_n (.D(D_n), .CE(CE), .C(C), .R(S), .Q(q_n));
FDSE tri_p (.D(T), .CE(CE), .C(C), .S(S), .Q(t_p));
FDSE tri_n (.D(T), .CE(CE), .C(C), .S(S), .Q(t_n));
FDSE iff_p (.D(i_p), .CE(CE), .C(C), .S(S), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_FDSE_LVDS
// ***************
// IO Buffer Latch
// ***************
module IOBUFDS_LD_LVDS (D,T,G,Q,IO,IOB);
input D, T, G;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_LD_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
wire CLR = 0;
INV inv_n (.I(D), .O(D_n));
LDC olatch_p (.D(D), .G(G), .CLR(CLR), .Q(q_p));
LDP olatch_n (.D(D_n), .G(G), .PRE(CLR), .Q(q_n));
LDP tri_p (.D(T), .G(G), .PRE(CLR), .Q(t_p));
LDP tri_n (.D(T), .G(G), .PRE(CLR), .Q(t_n));
LDC ilatch_p (.D(i_p), .G(G), .CLR(CLR), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_LD_LVDS
module IOBUFDS_LDE_LVDS (D,T,GE,G,Q,IO,IOB);
input D, T, GE, G;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_LDE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
wire CLR = 0;
INV inv_n (.I(D), .O(D_n));
LDCE olatch_p (.D(D), .GE(GE), .G(G), .CLR(CLR), .Q(q_p));
LDPE olatch_n (.D(D_n), .GE(GE), .G(G), .PRE(CLR), .Q(q_n));
LDPE tri_p (.D(T), .GE(GE), .G(G), .PRE(CLR), .Q(t_p));
LDPE tri_n (.D(T), .GE(GE), .G(G), .PRE(CLR), .Q(t_n));
LDCE ilatch_p (.D(i_p), .GE(GE), .G(G), .CLR(CLR), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_LDE_LVDS
module IOBUFDS_LDC_LVDS (D,T,G,CLR,Q,IO,IOB);
input D, T, G, CLR;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_LDC_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
LDC olatch_p (.D(D), .G(G), .CLR(CLR), .Q(q_p));
LDP olatch_n (.D(D_n), .G(G), .PRE(CLR), .Q(q_n));
LDP tri_p (.D(T), .G(G), .PRE(CLR), .Q(t_p));
LDP tri_n (.D(T), .G(G), .PRE(CLR), .Q(t_n));
LDC ilatch_p (.D(i_p), .G(G), .CLR(CLR), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_LDC_LVDS
module IOBUFDS_LDCE_LVDS (D,T,GE,G,CLR,Q,IO,IOB);
input D, T, GE, G, CLR;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_LDCE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
LDCE olatch_p (.D(D), .GE(GE), .G(G), .CLR(CLR), .Q(q_p));
LDPE olatch_n (.D(D_n), .GE(GE), .G(G), .PRE(CLR), .Q(q_n));
LDPE tri_p (.D(T), .GE(GE), .G(G), .PRE(CLR), .Q(t_p));
LDPE tri_n (.D(T), .GE(GE), .G(G), .PRE(CLR), .Q(t_n));
LDCE ilatch_p (.D(i_p), .GE(GE), .G(G), .CLR(CLR), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_LDCE_LVDS
module IOBUFDS_LDP_LVDS (D,T,G,PRE,Q,IO,IOB);
input D, T, G, PRE;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_LDP_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
LDPE olatch_p (.D(D), .G(G), .PRE(PRE), .Q(q_p));
LDCE olatch_n (.D(D_n), .G(G), .CLR(PRE), .Q(q_n));
LDPE tri_p (.D(T), .G(G), .PRE(PRE), .Q(t_p));
LDPE tri_n (.D(T), .G(G), .PRE(PRE), .Q(t_n));
LDPE ilatch_p (.D(i_p), .G(G), .PRE(PRE), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_LDP_LVDS
module IOBUFDS_LDPE_LVDS (D,T,GE,G,PRE,Q,IO,IOB);
input D, T, GE, G, PRE;
output Q;
inout IO,IOB;
// synopsys dc_script_begin
// set_dont_touch find(cell,"*")
// set_dont_touch current_design
// set_attribute IOBUFDS_LDPE_LVDS IOB "true" -type string
// synopsys dc_script_end
wire D_n,q_p,q_n,t_p,t_n,i_p;
INV inv_n (.I(D), .O(D_n));
LDPE olatch_p (.D(D), .GE(GE), .G(G), .PRE(PRE), .Q(q_p));
LDCE olatch_n (.D(D_n), .GE(GE), .G(G), .CLR(PRE), .Q(q_n));
LDPE tri_p (.D(T), .GE(GE), .G(G), .PRE(PRE), .Q(t_p));
LDPE tri_n (.D(T), .GE(GE), .G(G), .PRE(PRE), .Q(t_n));
LDPE ilatch_p (.D(i_p), .GE(GE), .G(G), .PRE(PRE), .Q(Q));
IOBUF_LVDS pad_p (.I(q_p), .T(t_p), .O(i_p), .IO(IO));
IOBUF_LVDS pad_n (.I(q_n), .T(t_n), .O() , .IO(IOB));
endmodule // IOBUFDS_LDPE_LVDS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -