?? example_32bit_load.v
字號:
/* Verilog Model Created from SCS Schematic example_32bit_load.sch
Aug 15, 2003 13:22 */
/* Automatically generated by hvveri version 9.5 Release Build2 */
`timescale 1ns/1ns
`define LOGIC 1
`define BIDIR 2
`define INCELL 3
`define CLOCK 4
`define HSCK 5
`define CLOCKB 6
`define ESPXCLKIN 7
`define HSCKMUX 8
`define IOCONTROL 9
module example_32bit_load( clear_in , clk_in, data, enable_in, load_in, count_out );
input clear_in, clk_in;
output [31:0] count_out;
input [31:0] data;
input enable_in, load_in;
parameter syn_macro = 1;
wire [31:0] data_in;
wire [31:0] count_reg;
wire [31:0] data_reg;
wire [31:0] count;
wire load_reg;
wire enable_reg;
wire clear;
wire load;
wire enable;
wire clk;
counter_32bit_load I17 ( .clear(clear), .clk(clk), .count({ count[31:0] }),
.data_in({ data_reg[31:0] }), .enable(enable_reg),
.load(load_reg) );
outpad_25um \outpad_25um[31] ( .A(count_reg[31]), .P(count_out[31]) );
outpad_25um \outpad_25um[30] ( .A(count_reg[30]), .P(count_out[30]) );
outpad_25um \outpad_25um[29] ( .A(count_reg[29]), .P(count_out[29]) );
outpad_25um \outpad_25um[28] ( .A(count_reg[28]), .P(count_out[28]) );
outpad_25um \outpad_25um[27] ( .A(count_reg[27]), .P(count_out[27]) );
outpad_25um \outpad_25um[26] ( .A(count_reg[26]), .P(count_out[26]) );
outpad_25um \outpad_25um[25] ( .A(count_reg[25]), .P(count_out[25]) );
outpad_25um \outpad_25um[24] ( .A(count_reg[24]), .P(count_out[24]) );
outpad_25um \outpad_25um[23] ( .A(count_reg[23]), .P(count_out[23]) );
outpad_25um \outpad_25um[22] ( .A(count_reg[22]), .P(count_out[22]) );
outpad_25um \outpad_25um[21] ( .A(count_reg[21]), .P(count_out[21]) );
outpad_25um \outpad_25um[20] ( .A(count_reg[20]), .P(count_out[20]) );
outpad_25um \outpad_25um[19] ( .A(count_reg[19]), .P(count_out[19]) );
outpad_25um \outpad_25um[18] ( .A(count_reg[18]), .P(count_out[18]) );
outpad_25um \outpad_25um[17] ( .A(count_reg[17]), .P(count_out[17]) );
outpad_25um \outpad_25um[16] ( .A(count_reg[16]), .P(count_out[16]) );
outpad_25um \outpad_25um[15] ( .A(count_reg[15]), .P(count_out[15]) );
outpad_25um \outpad_25um[14] ( .A(count_reg[14]), .P(count_out[14]) );
outpad_25um \outpad_25um[13] ( .A(count_reg[13]), .P(count_out[13]) );
outpad_25um \outpad_25um[12] ( .A(count_reg[12]), .P(count_out[12]) );
outpad_25um \outpad_25um[11] ( .A(count_reg[11]), .P(count_out[11]) );
outpad_25um \outpad_25um[10] ( .A(count_reg[10]), .P(count_out[10]) );
outpad_25um \outpad_25um[9] ( .A(count_reg[9]), .P(count_out[9]) );
outpad_25um \outpad_25um[8] ( .A(count_reg[8]), .P(count_out[8]) );
outpad_25um \outpad_25um[7] ( .A(count_reg[7]), .P(count_out[7]) );
outpad_25um \outpad_25um[6] ( .A(count_reg[6]), .P(count_out[6]) );
outpad_25um \outpad_25um[5] ( .A(count_reg[5]), .P(count_out[5]) );
outpad_25um \outpad_25um[4] ( .A(count_reg[4]), .P(count_out[4]) );
outpad_25um \outpad_25um[3] ( .A(count_reg[3]), .P(count_out[3]) );
outpad_25um \outpad_25um[2] ( .A(count_reg[2]), .P(count_out[2]) );
outpad_25um \outpad_25um[1] ( .A(count_reg[1]), .P(count_out[1]) );
outpad_25um \outpad_25um[0] ( .A(count_reg[0]), .P(count_out[0]) );
rg16_25um I15 ( .CLK(clk), .D({ data_in[31:16] }), .Q({ data_reg[31:16] }) );
rg16_25um I16 ( .CLK(clk), .D({ count[31:16] }), .Q({ count_reg[31:16] }) );
rg16_25um I2 ( .CLK(clk), .D({ count[15:0] }), .Q({ count_reg[15:0] }) );
rg16_25um I1 ( .CLK(clk), .D({ data_in[15:0] }), .Q({ data_reg[15:0] }) );
dff_2 I3 ( .CLK(clk), .D1(enable), .D2(load), .Q1(enable_reg), .Q2(load_reg) );
inpad_25um \inpad_25um[31] ( .P(data[31]), .Q(data_in[31]) );
inpad_25um \inpad_25um[30] ( .P(data[30]), .Q(data_in[30]) );
inpad_25um \inpad_25um[29] ( .P(data[29]), .Q(data_in[29]) );
inpad_25um \inpad_25um[28] ( .P(data[28]), .Q(data_in[28]) );
inpad_25um \inpad_25um[27] ( .P(data[27]), .Q(data_in[27]) );
inpad_25um \inpad_25um[26] ( .P(data[26]), .Q(data_in[26]) );
inpad_25um \inpad_25um[25] ( .P(data[25]), .Q(data_in[25]) );
inpad_25um \inpad_25um[24] ( .P(data[24]), .Q(data_in[24]) );
inpad_25um \inpad_25um[23] ( .P(data[23]), .Q(data_in[23]) );
inpad_25um \inpad_25um[22] ( .P(data[22]), .Q(data_in[22]) );
inpad_25um \inpad_25um[21] ( .P(data[21]), .Q(data_in[21]) );
inpad_25um \inpad_25um[20] ( .P(data[20]), .Q(data_in[20]) );
inpad_25um \inpad_25um[19] ( .P(data[19]), .Q(data_in[19]) );
inpad_25um \inpad_25um[18] ( .P(data[18]), .Q(data_in[18]) );
inpad_25um \inpad_25um[17] ( .P(data[17]), .Q(data_in[17]) );
inpad_25um \inpad_25um[16] ( .P(data[16]), .Q(data_in[16]) );
inpad_25um \inpad_25um[15] ( .P(data[15]), .Q(data_in[15]) );
inpad_25um \inpad_25um[14] ( .P(data[14]), .Q(data_in[14]) );
inpad_25um \inpad_25um[13] ( .P(data[13]), .Q(data_in[13]) );
inpad_25um \inpad_25um[12] ( .P(data[12]), .Q(data_in[12]) );
inpad_25um \inpad_25um[11] ( .P(data[11]), .Q(data_in[11]) );
inpad_25um \inpad_25um[10] ( .P(data[10]), .Q(data_in[10]) );
inpad_25um \inpad_25um[9] ( .P(data[9]), .Q(data_in[9]) );
inpad_25um \inpad_25um[8] ( .P(data[8]), .Q(data_in[8]) );
inpad_25um \inpad_25um[7] ( .P(data[7]), .Q(data_in[7]) );
inpad_25um \inpad_25um[6] ( .P(data[6]), .Q(data_in[6]) );
inpad_25um \inpad_25um[5] ( .P(data[5]), .Q(data_in[5]) );
inpad_25um \inpad_25um[4] ( .P(data[4]), .Q(data_in[4]) );
inpad_25um \inpad_25um[3] ( .P(data[3]), .Q(data_in[3]) );
inpad_25um \inpad_25um[2] ( .P(data[2]), .Q(data_in[2]) );
inpad_25um \inpad_25um[1] ( .P(data[1]), .Q(data_in[1]) );
inpad_25um \inpad_25um[0] ( .P(data[0]), .Q(data_in[0]) );
inpad_25um I6 ( .P(load_in), .Q(load) );
inpad_25um I7 ( .P(enable_in), .Q(enable) );
ckpad_25um I8 ( .P(clear_in), .Q(clear) );
ckpad_25um I9 ( .P(clk_in), .Q(clk) );
endmodule // example_32bit_load
`ifdef counter_32bit_load
`else
`define counter_32bit_load
module counter_32bit_load( clear , clk, data_in, enable, load, count );
input clear, clk;
output [31:0] count;
input [31:0] data_in;
input enable, load;
parameter syn_macro = 1;
wire enable_6;
wire enable_5;
wire enable_4;
wire enable_3;
wire enable_2;
wire enable_1;
counter_8bit_iv_load I8 ( .clear(clear), .clk(clk), .count({ count[31:24] }),
.data_in({ data_in[31:24] }), .enable(enable),
.enable_1(enable_1), .enable_2(enable_2),
.enable_3(enable_3), .enable_4(enable_4),
.enable_5(enable_5), .enable_6(enable_6), .load(load) );
counter_24bit_load I9 ( .clear(clear), .clk(clk), .count({ count[23:0] }),
.data_in({ data_in[23:0] }), .enable(enable),
.enable_1(enable_1), .enable_2(enable_2),
.enable_3(enable_3), .enable_4(enable_4),
.enable_5(enable_5), .enable_6(enable_6), .load(load) );
endmodule // counter_32bit_load
`endif
`ifdef outpad_25um
`else
`define outpad_25um
module outpad_25um( A , P );
input A;
output P;
parameter syn_macro = 1;
parameter ql_gate = `BIDIR;
supply0 GND;
supply1 VCC;
eio_cell I1 ( .EQE(VCC), .ESEL(VCC), .IE(VCC), .IP(P), .IQC(GND), .IQE(GND),
.IQR(GND), .OQI(A), .OSEL(VCC) );
endmodule // outpad_25um
`endif
`ifdef rg16_25um
`else
`define rg16_25um
module rg16_25um( CLK , D, Q );
input CLK;
input [15:0] D;
output [15:0] Q;
parameter syn_macro = 1;
dff_2 I6 ( .CLK(CLK), .D1(D[14]), .D2(D[15]), .Q1(Q[14]), .Q2(Q[15]) );
dff_2 I7 ( .CLK(CLK), .D1(D[12]), .D2(D[13]), .Q1(Q[12]), .Q2(Q[13]) );
dff_2 I8 ( .CLK(CLK), .D1(D[10]), .D2(D[11]), .Q1(Q[10]), .Q2(Q[11]) );
dff_2 I9 ( .CLK(CLK), .D1(D[8]), .D2(D[9]), .Q1(Q[8]), .Q2(Q[9]) );
dff_2 I2 ( .CLK(CLK), .D1(D[6]), .D2(D[7]), .Q1(Q[6]), .Q2(Q[7]) );
dff_2 I3 ( .CLK(CLK), .D1(D[4]), .D2(D[5]), .Q1(Q[4]), .Q2(Q[5]) );
dff_2 I4 ( .CLK(CLK), .D1(D[2]), .D2(D[3]), .Q1(Q[2]), .Q2(Q[3]) );
dff_2 I5 ( .CLK(CLK), .D1(D[0]), .D2(D[1]), .Q1(Q[0]), .Q2(Q[1]) );
endmodule // rg16_25um
`endif
`ifdef dff_2
`else
`define dff_2
module dff_2( CLK , D1, D2, Q1, Q2 );
input CLK, D1, D2;
output Q1, Q2;
parameter syn_macro = 1;
supply1 vcc;
supply0 gnd;
super_logic I2 ( .A1(vcc), .A2(gnd), .A3(vcc), .A4(gnd), .A5(vcc), .A6(gnd),
.B1(vcc), .B2(gnd), .C1(vcc), .C2(gnd), .D1(vcc), .D2(gnd),
.E1(D1), .E2(gnd), .F1(vcc), .F2(gnd), .F3(vcc), .F4(gnd),
.F5(vcc), .F6(gnd), .MP(gnd), .MS(vcc), .NP(gnd), .NS(vcc),
.OP(gnd), .OS(vcc), .PP(vcc), .PS(D2), .Q2Z(Q2), .QC(CLK),
.QR(gnd), .QS(gnd), .QZ(Q1) );
endmodule // dff_2
`endif
`ifdef inpad_25um
`else
`define inpad_25um
module inpad_25um( P , Q );
input P;
output Q;
parameter syn_macro = 1;
parameter ql_gate = `BIDIR;
supply0 gnd;
supply1 vcc;
eio_cell I1 ( .EQE(vcc), .ESEL(vcc), .IE(gnd), .IP(P), .IQC(gnd), .IQE(gnd),
.IQR(gnd), .IZ(Q), .OQI(vcc), .OSEL(vcc) );
endmodule // inpad_25um
`endif
`ifdef ckpad_25um
`else
`define ckpad_25um
module ckpad_25um( P , Q );
input P;
output Q;
parameter syn_macro = 1;
parameter ql_gate = `CLOCK;
ckcell_25um I1 ( .IC(Q), .IP(P) );
endmodule // ckpad_25um
`endif
`ifdef counter_8bit_iv_load
`else
`define counter_8bit_iv_load
module counter_8bit_iv_load( clear , clk, data_in, enable, enable_1, enable_2,
enable_3, enable_4, enable_5, enable_6, load,
count );
input clear, clk;
output [7:0] count;
input [7:0] data_in;
input enable, enable_1, enable_2, enable_3, enable_4, enable_5, enable_6,
load;
parameter syn_macro = 1;
wire enable_in1_a;
wire enable_in2_a;
wire enable_7_r;
supply1 vcc;
supply0 gnd;
counter_4bit_load I18 ( .clear(clear), .clk(clk), .data_in({ data_in[3:0] }),
.enable(enable_in1_a), .load(load), .Qa_c(count[3]),
.Qb_c(count[2]), .Qc_c(count[1]), .Qd_c(count[0]) );
counter_4bit_load I19 ( .clear(clear), .clk(clk), .data_in({ data_in[7:4] }),
.enable(enable_in2_a), .load(load), .Qa_c(count[7]),
.Qb_c(count[6]), .Qc_c(count[5]), .Qd_c(count[4]) );
super_logic I16 ( .A1(enable), .A2(gnd), .A3(enable_1), .A4(gnd), .A5(enable_2),
.A6(gnd), .B1(gnd), .B2(gnd), .C1(gnd), .C2(gnd), .D1(gnd),
.D2(gnd), .E1(vcc), .E2(gnd), .F1(enable_4), .F2(gnd),
.F3(enable_5), .F4(gnd), .F5(enable_6), .F6(gnd), .MP(gnd),
.MS(gnd), .NP(vcc), .NS(gnd), .OP(enable_3), .OS(gnd),
.OZ(enable_in1_a), .PP(gnd), .PS(gnd), .QC(clk), .QR(clear),
.QS(gnd) );
super_logic I15 ( .A1(count[3]), .A2(gnd), .A3(count[2]), .A4(gnd), .A5(count[1]),
.A6(gnd), .B1(gnd), .B2(gnd), .C1(vcc), .C2(gnd), .D1(count[0]),
.D2(gnd), .E1(vcc), .E2(gnd), .F1(enable_in1_a), .F2(gnd),
.F3(enable_7_r), .F4(gnd), .F5(vcc), .F6(gnd),
.FZ(enable_in2_a), .MP(gnd), .MS(gnd), .NP(gnd), .NS(gnd),
.OP(vcc), .OS(gnd), .PP(gnd), .PS(gnd), .QC(clk), .QR(clear),
.QS(gnd), .QZ(enable_7_r) );
endmodule // counter_8bit_iv_load
`endif
`ifdef counter_24bit_load
`else
`define counter_24bit_load
module counter_24bit_load( clear , clk, data_in, enable, load, count, enable_1,
enable_2, enable_3, enable_4, enable_5, enable_6 );
input clear, clk;
output [23:0] count;
input [23:0] data_in;
input enable;
output enable_1, enable_2, enable_3, enable_4, enable_5, enable_6;
input load;
parameter syn_macro = 1;
counter_16bit_load I8 ( .clear(clear), .clk(clk), .count({ count[15:0] }),
.data_in({ data_in[15:0] }), .enable(enable),
.enable_1(enable_1), .enable_2(enable_2),
.enable_3(enable_3), .enable_4(enable_4), .load(load) );
counter_8bit_iii_load I9 ( .clear(clear), .clk(clk), .count({ count[23:16] }),
.data_in({ data_in[23:16] }), .enable(enable),
.enable_1(enable_1), .enable_2(enable_2),
.enable_3(enable_3), .enable_4(enable_4),
.enable_5_r(enable_5), .enable_6_r(enable_6),
.load(load) );
endmodule // counter_24bit_load
`endif
`ifdef eio_cell
`else
`define eio_cell
module eio_cell( EQE , ESEL, IE, IQC, IQE, IQR, OQI, OSEL, IQQ, IZ, OQQ, IP );
input EQE, ESEL, IE;
inout IP;
input IQC, IQE;
output IQQ;
input IQR;
output IZ;
input OQI;
output OQQ;
input OSEL;
parameter syn_macro = 1;
parameter ql_frag = 1;
wire EQMUX_Z, OQMUX_Z;
reg EQZ, OQQ, IQQ;
assign #1 EQMUX_Z = ESEL ? IE : EQZ;
assign #1 OQMUX_Z = OSEL ? OQI : OQQ;
assign #1 IP = EQMUX_Z ? OQMUX_Z : 1'bz;
assign #1 IZ = IP;
always @ (posedge IQC or posedge IQR)
if (IQR)
EQZ <= #1 1'b0;
else if (EQE)
EQZ <= #1 IE;
always @ (posedge IQC or posedge IQR)
if (IQR)
IQQ <= #1 1'b0;
else if (IQE)
IQQ <= #1 IP;
always @ (posedge IQC or posedge IQR)
if (IQR)
OQQ <= #1 1'b0;
else
OQQ <= #1 OQI;
endmodule // eio_cell
`endif
`ifdef super_logic
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -