📄 cla_8bit.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 + -