aboutsummaryrefslogtreecommitdiffstats
path: root/manual/PRESENTATION_ExSyn/techmap_01_map.v
blob: 4fd86e85483bf7a814c286c272af463f1ebcb40f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
module \$add (A, B, Y);

parameter A_SIGNED = 0;
parameter B_SIGNED = 0;
parameter A_WIDTH = 1;
parameter B_WIDTH = 1;
parameter Y_WIDTH = 1;

input [A_WIDTH-1:0] A;
input [B_WIDTH-1:0] B;
output [Y_WIDTH-1:0] Y;

generate
  if ((A_WIDTH == 32) && (B_WIDTH == 32))
    begin
      wire [16:0] S1 = A[15:0] + B[15:0];
      wire [15:0] S2 = A[31:16] + B[31:16] + S1[16];
      assign Y = {S2[15:0], S1[15:0]};
    end
  else
    wire _TECHMAP_FAIL_ = 1;
endgenerate

endmodule
ass="n">Pkg then Put_Line ("Packages : "); else Put_Line ("Instances : "); end if; Dump_Sub_Tree (Trees (Index).Next_Child); end loop; Put_Line ("----------- END -----------------"); New_Line; end Dump_Tree; procedure Dump_Sub_Tree (Cursor : Elem_Acc) is Sibling_Cursor : Elem_Acc; begin Sibling_Cursor := Cursor; while Sibling_Cursor /= null loop Put ((3 .. 2 * Sibling_Cursor.Level => ' ')); Put ('/'); Put_Line (Sibling_Cursor.Expr.all); Dump_Sub_Tree (Sibling_Cursor.Next_Child); Sibling_Cursor := Sibling_Cursor.Next_Sibling; end loop; end Dump_Sub_Tree; end Grt.Wave_Opt.File.Debug;