aboutsummaryrefslogtreecommitdiffstats
path: root/manual/PRESENTATION_ExAdv/macc_xilinx_swap_map.v
blob: e369672251dd1e186142e1eed173e073bf96fa4e (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
25
26
27
28
(* techmap_celltype = "$mul" *)
module mul_swap_ports (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;

wire _TECHMAP_FAIL_ = A_WIDTH <= B_WIDTH;

\$mul #(
	.A_SIGNED(B_SIGNED),
	.B_SIGNED(A_SIGNED),
	.A_WIDTH(B_WIDTH),
	.B_WIDTH(A_WIDTH),
	.Y_WIDTH(Y_WIDTH)
) _TECHMAP_REPLACE_ (
	.A(B),
	.B(A),
	.Y(Y)
);

endmodule
>event.pressed) { if (is_audio_on()) { audio_off(); } else { audio_on(); } return false; } if (keycode == MUV_IN && record->event.pressed) { voice_iterate(); music_scale_user(); return false; } if (keycode == MUV_DE && record->event.pressed) { voice_deiterate(); music_scale_user(); return false; } return true; } void process_audio_noteon(uint8_t note) { play_note(compute_freq_for_midi_note(note), 0xF); } void process_audio_noteoff(uint8_t note) { stop_note(compute_freq_for_midi_note(note)); } void process_audio_all_notes_off(void) { stop_all_notes(); } __attribute__ ((weak)) void audio_on_user() {}