bl_add.v
1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Module instances modified by /home/rws/workarea/rf/sw/bbplayer/tools/necprimfix
//
// 2 instances of ad01d1h changed to j_ad01.
// 1 instance of or02d1 changed to j_or02.
// 1 instance of xn02d1 changed to j_xn02.
// 1 instance of xo02d1h changed to j_xo02.
//
////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module: bl_add
// description: Carry-propagating adder for blend unit. 4, 3 bits in,
// carry in 1 forced, 4 bits out, no carry out.
//
// designer: Phil Gossett
// date: 8/11/94
//
////////////////////////////////////////////////////////////////////////
module bl_add (a, b, s);
input [3:0] a;
input [2:0] b;
wire [2:0] c;
output [3:0] s;
j_xn02 adds0 ( .a1(a[0]), .a2(b[0]), .zn(s[0]));
j_or02 addc0 ( .a1(a[0]), .a2(b[0]), .z(c[0]));
j_ad01 adds1 (.ci(c[0]), .a(a[1]), .b(b[1]), .s(s[1]), .co(c[1]));
j_ad01 adds2 (.ci(c[1]), .a(a[2]), .b(b[2]), .s(s[2]), .co(c[2]));
j_xo02 adds3 (.a1(c[2]), .a2(a[3]), .z(s[3]));
endmodule // bl_add