⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example_32bit_load.v

📁 VHDL examples for counter design, use QuickLogic eclips
💻 V
📖 第 1 页 / 共 2 页
字号:
/* 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 + -