OpenCores
URL https://opencores.org/ocsvn/pci_express_crc/pci_express_crc/trunk

Subversion Repositories pci_express_crc

[/] [pci_express_crc/] [tags/] [gutzlogic_v_0/] [crc32d16N.v] - Diff between revs 3 and 4

Only display areas with differences | Details | Blame | View Log

Rev 3 Rev 4
// ===========================================================================
// ===========================================================================
// File    : crc32d16N.v
// File    : crc32d16N.v
// Author  : cwinward
// Author  : cwinward
// Date    : Sat Dec 8 14:00:37 MST 2007
// Date    : Sat Dec 8 14:00:37 MST 2007
// Project : TI PHY design
// Project : TI PHY design
//
//
// Copyright (c) notice
// Copyright (c) notice
// This code adheres to the GNU public license
// This code adheres to the GNU public license
//
//
// ===========================================================================
// ===========================================================================
//
//
// $Id: crc32d16N.v,v 1.1.1.1 2007-12-08 22:26:59 cmagleby Exp $
// $Id: crc32d16N.v,v 1.1.1.1 2007-12-08 22:26:59 cmagleby Exp $
//
//
// ===========================================================================
// ===========================================================================
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
//
//
// ===========================================================================
// ===========================================================================
// Function :  This provides the lcrc for the end of the pci express TLP 
// Function :  This provides the lcrc for the end of the pci express TLP 
//             packet.  This is 16 bits in 32 bits out.
//             packet.  This is 16 bits in 32 bits out.
//             For more data widths see www.gutzlogic.com
//             For more data widths see www.gutzlogic.com
// ===========================================================================
// ===========================================================================
// ===========================================================================
// ===========================================================================
 
 
module crc32d16N (/*AUTOARG*/
module crc32d16N (/*AUTOARG*/
   // Outputs
   // Outputs
   crc32N,
   crc32N,
   // Inputs
   // Inputs
   clk, resetN, load, d, en
   clk, resetN, load, d, en
   );
   );
   input        clk;
   input        clk;
   input        resetN;
   input        resetN;
   input        load;  //load the seed value
   input        load;  //load the seed value
   input [15:0] d;     //16 bit of tlp data starting with seq. num
   input [15:0] d;     //16 bit of tlp data starting with seq. num
   input        en;    //should be high the entire packet.
   input        en;    //should be high the entire packet.
 
 
   output [31:0] crc32N; //inverted and swapped per pci spec.
   output [31:0] crc32N; //inverted and swapped per pci spec.
   wire [31:0]    crc32N;
   wire [31:0]    crc32N;
 
 
   assign        crc32N = {~crc32[0],~crc32[1],~crc32[2],~crc32[3],~crc32[4],~crc32[5],~crc32[6],~crc32[7],
   assign        crc32N = {~crc32[0],~crc32[1],~crc32[2],~crc32[3],~crc32[4],~crc32[5],~crc32[6],~crc32[7],
                           ~crc32[8],~crc32[9],~crc32[10],~crc32[11],~crc32[12],~crc32[13],~crc32[14],~crc32[15],
                           ~crc32[8],~crc32[9],~crc32[10],~crc32[11],~crc32[12],~crc32[13],~crc32[14],~crc32[15],
                           ~crc32[16],~crc32[17],~crc32[18],~crc32[19],~crc32[20],~crc32[21],~crc32[22],~crc32[23],
                           ~crc32[16],~crc32[17],~crc32[18],~crc32[19],~crc32[20],~crc32[21],~crc32[22],~crc32[23],
                           ~crc32[24],~crc32[25],~crc32[26],~crc32[27],~crc32[28],~crc32[29],~crc32[30],~crc32[31]};
                           ~crc32[24],~crc32[25],~crc32[26],~crc32[27],~crc32[28],~crc32[29],~crc32[30],~crc32[31]};
 
 
   /*AUTOWIRE*/
   /*AUTOWIRE*/
   // Beginning of automatic wires (for undeclared instantiated-module outputs)
   // Beginning of automatic wires (for undeclared instantiated-module outputs)
   wire [31:0]           crc;                    // From make_crc32d16 of crc32d16.v
   wire [31:0]           crc;                    // From make_crc32d16 of crc32d16.v
   // End of automatics
   // End of automatics
 
 
   /* -----\/----- EXCLUDED -----\/-----
   /* -----\/----- EXCLUDED -----\/-----
   crc32d16 AUTO_TEMPLATE (.init(32'hFFFF_FFFF));
   crc32d16 AUTO_TEMPLATE (.init(32'hFFFF_FFFF));
    -----/\----- EXCLUDED -----/\----- */
    -----/\----- EXCLUDED -----/\----- */
 
 
   crc32d16 make_crc32d16 (/*AUTOINST*/
   crc32d16 make_crc32d16 (/*AUTOINST*/
                           // Outputs
                           // Outputs
                           .crc         (crc[31:0]),
                           .crc         (crc[31:0]),
                           // Inputs
                           // Inputs
                           .clk         (clk),
                           .clk         (clk),
                           .resetN      (resetN),
                           .resetN      (resetN),
                           .load        (load),
                           .load        (load),
                           .d           (d[15:0]),
                           .d           (d[15:0]),
                           .init        (32'hFFFF_FFFF),         // Templated
                           .init        (32'hFFFF_FFFF),         // Templated
                           .en          (en));
                           .en          (en));
 
 
endmodule
endmodule
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.