File: dsp_map.v

package info (click to toggle)
yosys 0.52-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 69,796 kB
  • sloc: ansic: 696,955; cpp: 239,736; python: 14,617; yacc: 3,529; sh: 2,175; makefile: 1,945; lex: 697; perl: 445; javascript: 323; tcl: 162; vhdl: 115
file content (73 lines) | stat: -rw-r--r-- 2,071 bytes parent folder | download
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
module \$__MUL18X18 (input [17:0] A, input [17:0] B, output [35:0] Y);
	parameter A_SIGNED = 0;
	parameter B_SIGNED = 0;
	parameter A_WIDTH = 0;
	parameter B_WIDTH = 0;
	parameter Y_WIDTH = 0;

	wire [A_WIDTH+B_WIDTH-1:0] mult_result;

	fiftyfivenm_mac_mult #(
		.dataa_clock ("none"),
		.datab_clock ("none"),
		.signa_clock ("none"),
		.signb_clock ("none"),
		.dataa_width (A_WIDTH),
		.datab_width (B_WIDTH),
		.lpm_type    ("fiftyfivenm_mac_mult")
	) _TECHMAP_REPLACE_mac_mult (
		//Data path
		.dataa  ( A                          ),
		.datab  ( B                          ),
		.dataout( mult_result                ),
		.signa  ( A_SIGNED != 0 ? 1'b1 : 1'b0),
		.signb  ( B_SIGNED != 0 ? 1'b1 : 1'b0)
	);

	fiftyfivenm_mac_out #(
		.dataa_width  (A_WIDTH + B_WIDTH),
		.output_clock ("none"),
		.lpm_type     ("fiftyfivenm_mac_out")
	) _TECHMAP_REPLACE_mac_out (
		.dataa   (mult_result),
		.dataout (Y)
	);
endmodule


module \$__MUL9X9 (input [8:0] A, input [8:0] B, output [17:0] Y);
        parameter A_SIGNED = 0;
        parameter B_SIGNED = 0;
        parameter A_WIDTH = 0;
        parameter B_WIDTH = 0;
        parameter Y_WIDTH = 0;

	wire [A_WIDTH+B_WIDTH-1:0] mult_result;

        fiftyfivenm_mac_mult #(
                .dataa_clock ("none"),
                .datab_clock ("none"),
                .signa_clock ("none"),
                .signb_clock ("none"),
                .dataa_width (A_WIDTH),
                .datab_width (B_WIDTH),
		.lpm_type    ("fiftyfivenm_mac_mult")
        ) _TECHMAP_REPLACE_mac_mult (
                //Data path
                .dataa  ( A                          ),
                .datab  ( B                          ),
                .dataout( mult_result                ),
                .signa  ( A_SIGNED != 0 ? 1'b1 : 1'b0),
                .signb  ( B_SIGNED != 0 ? 1'b1 : 1'b0)
        );

	fiftyfivenm_mac_out #(
		.dataa_width  (A_WIDTH + B_WIDTH),
		.output_clock ("none"),
		.lpm_type     ("fiftyfivenm_mac_out")
	) _TECHMAP_REPLACE_mac_out (
		.dataa   (mult_result),
		.dataout (Y)
	);
endmodule