-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathex-basics-logic-concat.v
38 lines (26 loc) · 993 Bytes
/
ex-basics-logic-concat.v
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
38
module top;
logic [ 3:0] A; // 4-bit logic variable
logic [ 3:0] B; // 4-bit logic variable
logic [ 3:0] C; // 4-bit logic variable
logic [ 7:0] D; // 18-bit logic variable
logic [11:0] E; // 12-bit logic variable
initial begin
// Basic concatenation
A = 4'ha;
B = 4'hb;
C = 4'hc;
D = 8'hde;
E = { A, B, C }; $display( "{ 4'ha, 4'hb, 4'hc } = %x", E );
E = { C, A, B }; $display( "{ 4'hc, 4'ha, 4'hb } = %x", E );
E = { B, C, A }; $display( "{ 4'hb, 4'hc, 4'ha } = %x", E );
E = { A, D }; $display( "{ 4'ha, 8'hde } = %x", E );
E = { D, A }; $display( "{ 8'hde, 4'ha } = %x", E );
E = { A, 8'hf0 }; $display( "{ 4'ha, 8'hf0 } = %x", E );
E = { 8'hf0, A }; $display( "{ 8'hf0, 4'ha } = %x", E );
// Repeat operator
A = 4'ha;
B = 4'hb;
E = { 3{A} }; $display( "{ 4'ha, 4'ha, 4'ha } = %x", E );
E = { A, {2{B}} }; $display( "{ 4'ha, 4'hb, 4'hb } = %x", E );
end
endmodule