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

📄 spi_bytecounter.v

📁 verilog语言写的SPI接口,全同步设计,低门数,可以很容易应用到嵌入设计方案中.
💻 V
字号:
// HDLi Version 3.0 (beta)
// Parameters: counter -b8 -t0 -p1 -f0 -L0 -C -c -R -S  -M   -l vsc983 -Synopsys -rtl -nentity -nadd_p -ntiming -verilog -br 0,4,8,12,32,0  
// spi_bytecounter: 126.00 physical gates (vsc983)
// spi_bytecounter: 3267.18 squm area (vsc983)
// -----------------------------------------------------------------------------
//                            VLSI Technology, Inc.
// -----------------------------------------------------------------------------
// Copyright 1999 by VLSI Technology, Inc. All rights reserved.
// 
// This module is property of VLSI Technology, Inc (VLSI) and its use is
// granted to the customer for the sole purpose of implementing in silicon
// provided by VLSI. This module may only be used in accordance with the
// provisions of the Design Integrator License Agreement.
// 
// -----------------------------------------------------------------------------
//                          Counter Compiler Version 1.1b
// -----------------------------------------------------------------------------
// spi_bytecounter : structural Verilog
// "spi_bytecounter_rtl.v" contains the RTL Verilog
//
// Compiled by coste_e on Fri Jun 18 10:42:16 1999
// -----------------------------------------------------------------------------

module spi_bytecounter (
                        clk,
                        cdn,
                        csn,
                        cen,
                        maxval,
                        q,
                        tci);

   input        clk;
   input        cdn;
   input        csn;
   input        cen;
   input  [7:0] maxval;
   output [7:0] q;
   output       tci;

   supply1 vdd;
   supply0 vss;


   wire   n000001;
   assign n000001 = clk;
   wire   n000002;
   assign n000002 = cdn;
   wire   n000003;
   assign n000003 = csn;
   wire   n000004;
   assign n000004 = cen;
   wire   n000012;
   assign n000012 = maxval[7];
   wire   n000011;
   assign n000011 = maxval[6];
   wire   n000010;
   assign n000010 = maxval[5];
   wire   n000009;
   assign n000009 = maxval[4];
   wire   n000008;
   assign n000008 = maxval[3];
   wire   n000007;
   assign n000007 = maxval[2];
   wire   n000006;
   assign n000006 = maxval[1];
   wire   n000005;
   assign n000005 = maxval[0];
   wire   n000020;
   assign q[7] = n000020;
   wire   n000019;
   assign q[6] = n000019;
   wire   n000018;
   assign q[5] = n000018;
   wire   n000017;
   assign q[4] = n000017;
   wire   n000016;
   assign q[3] = n000016;
   wire   n000015;
   assign q[2] = n000015;
   wire   n000014;
   assign q[1] = n000014;
   wire   n000013;
   assign q[0] = n000013;
   wire   n000021;
   assign tci = n000021;

   an02d1  u000001(
                   .a1(n000060),
                   .a2(n000004),
                   .z(n000069));
   an03d1  u000002(
                   .a1(n000088),
                   .a2(n000034),
                   .a3(n000033),
                   .z(n000050));
   an03d1  u000003(
                   .a1(n000088),
                   .a2(n000036),
                   .a3(n000033),
                   .z(n000051));
   an03d1  u000004(
                   .a1(n000088),
                   .a2(n000038),
                   .a3(n000033),
                   .z(n000052));
   an03d1  u000005(
                   .a1(n000088),
                   .a2(n000040),
                   .a3(n000033),
                   .z(n000053));
   an03d1  u000006(
                   .a1(n000088),
                   .a2(n000042),
                   .a3(n000033),
                   .z(n000054));
   an03d1  u000007(
                   .a1(n000088),
                   .a2(n000044),
                   .a3(n000033),
                   .z(n000055));
   an03d1  u000008(
                   .a1(n000088),
                   .a2(n000046),
                   .a3(n000033),
                   .z(n000056));
   an03d1  u000009(
                   .a1(n000088),
                   .a2(n000048),
                   .a3(n000033),
                   .z(n000057));
   an04d1  u000010(
                   .a1(n000016),
                   .a2(n000014),
                   .a3(n000013),
                   .a4(n000015),
                   .z(n000060));
   dfctnq1  u000011_reg(
                        .d(n000057),
                        .cp(n000001),
                        .cdn(n000089),
                        .q(n000020));
   dfctnq1  u000012_reg(
                        .d(n000056),
                        .cp(n000001),
                        .cdn(n000089),
                        .q(n000019));
   dfctnq1  u000013_reg(
                        .d(n000055),
                        .cp(n000001),
                        .cdn(n000089),
                        .q(n000018));
   dfctnq2  u000014_reg(
                        .d(n000054),
                        .cp(n000001),
                        .cdn(n000089),
                        .q(n000017));
   dfctnq1  u000015_reg(
                        .d(n000053),
                        .cp(n000001),
                        .cdn(n000089),
                        .q(n000016));
   dfctnq1  u000016_reg(
                        .d(n000052),
                        .cp(n000001),
                        .cdn(n000089),
                        .q(n000015));
   dfctnq2  u000017_reg(
                        .d(n000051),
                        .cp(n000001),
                        .cdn(n000089),
                        .q(n000014));
   dfctnq2  u000018_reg(
                        .d(n000050),
                        .cp(n000001),
                        .cdn(n000089),
                        .q(n000013));
   fn01d1  u000019(
                   .a1(n000020),
                   .b1(n000012),
                   .zn(n000029));
   fn01d1  u000020(
                   .a1(n000019),
                   .b1(n000011),
                   .zn(n000028));
   fn01d1  u000021(
                   .a1(n000018),
                   .b1(n000010),
                   .zn(n000027));
   fn01d1  u000022(
                   .a1(n000017),
                   .b1(n000009),
                   .zn(n000026));
   fn01d1  u000023(
                   .a1(n000016),
                   .b1(n000008),
                   .zn(n000025));
   fn01d1  u000024(
                   .a1(n000015),
                   .b1(n000007),
                   .zn(n000024));
   fn01d1  u000025(
                   .a1(n000014),
                   .b1(n000006),
                   .zn(n000023));
   fn01d1  u000026(
                   .a1(n000013),
                   .b1(n000005),
                   .zn(n000022));
   nd02d1  u000027(
                   .a1(n000069),
                   .a2(n000017),
                   .zn(n000067));
   nd02d1  u000028(
                   .a1(n000062),
                   .a2(n000013),
                   .zn(n000075));
   nd02d2  u000029(
                   .a1(n000021),
                   .a2(n000004),
                   .zn(n000033));
   nd03d1  u000030(
                   .a1(n000069),
                   .a2(n000018),
                   .a3(n000017),
                   .zn(n000065));
   nd03d1  u000031(
                   .a1(n000062),
                   .a2(n000014),
                   .a3(n000013),
                   .zn(n000073));
   nd04d1  u000032(
                   .a1(n000069),
                   .a3(n000018),
                   .a4(n000017),
                   .a2(n000019),
                   .zn(n000063));
   nd04d1  u000033(
                   .a1(n000062),
                   .a3(n000014),
                   .a4(n000013),
                   .a2(n000015),
                   .zn(n000071));
   nd04d1  u000034(
                   .a1(n000025),
                   .a3(n000023),
                   .a4(n000022),
                   .a2(n000024),
                   .zn(n000031));
   nd04d1  u000035(
                   .a1(n000029),
                   .a3(n000027),
                   .a4(n000026),
                   .a2(n000028),
                   .zn(n000030));
   ni01d2  u000036(
                   .i(n000002),
                   .z(n000089));
   ni01d2  u000037(
                   .i(n000003),
                   .z(n000088));
   ni01d1  u000038(
                   .i(n000004),
                   .z(n000062));
   nr02d1  u000039(
                   .a1(n000031),
                   .a2(n000030),
                   .zn(n000021));
   xn02d1  u000040(
                   .a1(n000063),
                   .a2(n000020),
                   .zn(n000048));
   xn02d1  u000041(
                   .a1(n000065),
                   .a2(n000019),
                   .zn(n000046));
   xn02d1  u000042(
                   .a1(n000067),
                   .a2(n000018),
                   .zn(n000044));
   xn02d1  u000043(
                   .a1(n000071),
                   .a2(n000016),
                   .zn(n000040));
   xn02d1  u000044(
                   .a1(n000073),
                   .a2(n000015),
                   .zn(n000038));
   xn02d1  u000045(
                   .a1(n000075),
                   .a2(n000014),
                   .zn(n000036));
   xo02d1  u000046(
                   .a1(n000069),
                   .a2(n000017),
                   .z(n000042));
   xo02d1  u000047(
                   .a1(n000004),
                   .a2(n000013),
                   .z(n000034));

endmodule // spi_bytecounter

// -----------------------------------------------------------------------------
// Verilog Component Instantiation:
// -----------------------------------------------------------------------------
/*
   spi_bytecounter u1 (.clk(),       // Clock Input
                       .cdn(),       // Clear Direct Not Input
                       .csn(),       // Clear Synchronous Not Input
                       .cen(),       // Count Enable Input
                       .maxval(),    // Programmable Maximum Count Value
                       .q(),         //  8 bit Result
                       .tci());      // Terminal Count Indicator

*/
// -----------------------------------------------------------------------------
// Verilog Synthesis Commands:
// -----------------------------------------------------------------------------
/*
   set_dont_touch find(design, spi_bytecounter, -hierarchy)
   remove_attribute find(design, spi_bytecounter, -hierarchy) dont_touch
   set_ungroup find(design, spi_bytecounter, -hierarchy)
*/
// -----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -