summaryrefslogtreecommitdiff
path: root/rtl/top/mul_test.sv
blob: 13957724e65ea5f88ea5a4da5880a8e3c1602576 (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
29
30
31
32
33
`timescale 1 ns / 1 ps

module mul_test
#(parameter U=32)
(
    input logic[U - 1:0]	a,		// primer sumando
							b,		// segundo sumando
	input logic[U - 1:0]	c_hi,	// parte más significativa de c
							c_lo,	// parte menos significativa de c
	input logic				c_size,	// 1 si c es de 2 words, cualquier otro valor si c es de 1 word
							clk,	// clock, ya que es una máquina de estados
							rst,	// reset
							add,		// 1 si c se suma
							sig,		// 1 si a y b son signed
							q_size,	// 1 si q es de 2 words, cualquier otro valor si es de 1 word
							start,	// 1 indica que se inicie la multiplicacion

	output  logic [U - 1:0] q_hi,	// parte más significativa del resultado
	output  logic [U - 1:0] q_lo,	// parte menos significativa del resultado
	output  logic [2*U-1:0] result,
	output  logic 			n,		// no hay C ni V, ya que se dejan unaffected
							z,
							q_sig,	// 1 si q es signed, cualquier otro valor si es unsigned
							rdy		// 1 cuando la multiplicación está lista


);
    core_mul #(.U(U)) DUT (.*);

endmodule