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

📄 cla_8bit.v

📁 IP core of adder,8-bit width, three design concerpts with different effect.
💻 V
字号:
`timescale 1ns/10ps//===============================================================================//           TOP Level --->    8-bit CLA Source Code//                                     ---BAO Chaowei    Mar 3rd,2009//===============================================================================module  CLA_8bit(COUT,                 SUM,                 A,                 B,                 CIN                 );                   output         COUT;  output  [7:0]  SUM;  input   [7:0]  A;  input   [7:0]  B;  input          CIN;    wire   [7:0]  P;  wire   [7:0]  G;  wire   [7:0]  CO;    PG_GENERATOR  PG_INST(.P   (P),                        .G   (G),                        .A   (A),                        .B   (B)                        );    CY_GENERATOR  CY_INST(.CO  (CO),                        .P   (P),                        .G   (G),                        .Ci  (CIN)                        );    assign   SUM[7:0]  = P[7:0] ^ {CO[6:0],CIN};    assign   COUT      = CO[7];  endmodule//=======================PG Generator for 8-bit CLA=======================module  PG_GENERATOR(P,                     G,                     A,                     B                     );    output   [7:0]  P;  output   [7:0]  G;  input    [7:0]  A;  input    [7:0]  B;    assign   P  = A^B;  assign   G  = A&B;          endmodule//=======================Carry Generator for 8-bit CLA=======================module  CY_GENERATOR(CO,                     P,                     G,                     Ci                     );  output   [7:0]  CO;  input    [7:0]  P;  input    [7:0]  G;  input           Ci;    assign   CO[0]  = G[0] || (P[0]&&Ci);  assign   CO[1]  = G[1] || (P[1]&&G[0]) || (P[1]&&P[0]&&Ci);  assign   CO[2]  = G[2] || (P[2]&&G[1]) || (P[2]&&P[1]&&G[0]) || (P[2]&&P[1]&&P[0]&&Ci);  assign   CO[3]  = G[3] || (P[3]&&G[2]) || (P[3]&&P[2]&&G[1]) || (P[3]&&P[2]&&P[1]&&G[0]) || (P[3]&&P[2]&&P[1]&&P[0]&&Ci);   assign   CO[4]  = G[4] || (P[4]&&G[3]) || (P[4]&&P[3]&&G[2]) || (P[4]&&P[3]&&P[2]&&G[1]) || (P[4]&&P[3]&&P[2]&&P[1]&&G[0]) || (P[4]&&P[3]&&P[2]&&P[1]&&P[0]&&Ci);  assign   CO[5]  = G[5] || (P[5]&&G[4]) || (P[5]&&P[4]&&G[3]) || (P[5]&&P[4]&&P[3]&&G[2]) || (P[5]&&P[4]&&P[3]&&P[2]&&G[1]) || (P[5]&&P[4]&&P[3]&&P[2]&&P[1]&&G[0]) || (P[5]&&P[4]&&P[3]&&P[2]&&P[1]&&P[0]&&Ci);    assign   CO[6]  = G[6] || (P[6]&&G[5]) || (P[6]&&P[5]&&G[4]) || (P[6]&&P[5]&&P[4]&&G[3]) || (P[6]&&P[5]&&P[4]&&P[3]&&G[2]) || (P[6]&&P[5]&&P[4]&&P[3]&&P[2]&&G[1]) || (P[6]&&P[5]&&P[4]&&P[3]&&P[2]&&P[1]&&G[0]) || (P[6]&&P[5]&&P[4]&&P[3]&&P[2]&&P[1]&&P[0]&&Ci);  assign   CO[7]  = G[7] || (P[7]&&G[6]) || (P[7]&&P[6]&&G[5]) || (P[7]&&P[6]&&P[5]&&G[4]) || (P[7]&&P[6]&&P[5]&&P[4]&&G[3]) || (P[7]&&P[6]&&P[5]&&P[4]&&P[3]&&G[2]) || (P[7]&&P[6]&&P[5]&&P[4]&&P[3]&&P[2]&&G[1]) || (P[7]&&P[6]&&P[5]&&P[4]&&P[3]&&P[2]&&P[1]&&G[0]) || (P[7]&&P[6]&&P[5]&&P[4]&&P[3]&&P[2]&&P[1]&&P[0]&&Ci);    endmodule

⌨️ 快捷键说明

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