Do not use shiftmul peepopt pattern when mul result is truncated, fixes #1047
[yosys.git] / tests / asicworld / code_hdl_models_parity_using_function.v
1 //-----------------------------------------------------
2 // Design Name : parity_using_function
3 // File Name : parity_using_function.v
4 // Function : Parity using function
5 // Coder : Deepak Kumar Tala
6 //-----------------------------------------------------
7 module parity_using_function (
8 data_in , // 8 bit data in
9 parity_out // 1 bit parity out
10 );
11 output parity_out ;
12 input [7:0] data_in ;
13
14 wire parity_out ;
15
16 function parity;
17 input [31:0] data;
18 begin
19 parity = (data_in[0] ^ data_in[1]) ^
20 (data_in[2] ^ data_in[3]) ^
21 (data_in[4] ^ data_in[5]) ^
22 (data_in[6] ^ data_in[7]);
23 end
24 endfunction
25
26
27 assign parity_out = parity(data_in);
28
29 endmodule