

1
module
calculator(
2 num,
3 num_decp,
4 num_dec,
5 num_sig,
6 cal,
7 enter,
8 result_int,
9 result_dec,
10 result_sig,
11 result_decp,
12 clk,
13 rst
14 );
15
16 input clk;
17 input rst;
18 input [ 9 : 0 ] num;
19 input num_decp;
20 input num_sig;
21 input [ 9 : 0 ] num_dec;
22 input [ 3 : 0 ] cal;
23 input enter;
24 output [ 19 : 0 ] result_int;
25 output [ 9 : 0 ] result_dec;
26 output result_sig;
27 output result_decp;
28
29 reg [ 9 : 0 ] num1;
30 reg num1_decp;
31 reg num1_sig;
32 reg [ 9 : 0 ] num1_dec;
33 reg [ 9 : 0 ] num2;
34 reg num2_decp;
35 reg num2_sig;
36 reg [ 9 : 0 ] num2_dec;
37 reg [ 9 : 0 ] num1cal;
38 reg num1cal_decp;
39 reg num1cal_sig;
40 reg [ 9 : 0 ] num1cal_dec;
41 reg [ 9 : 0 ] num2cal;
42 reg num2cal_decp;
43 reg num2cal_sig;
44 reg [ 9 : 0 ] num2cal_dec;
45 reg [ 3 : 0 ] cal_tmp;
46 reg [ 19 : 0 ] result_int;
47 reg [ 9 : 0 ] result_dec;
48 reg result_sig;
49 reg result_decp;
50 reg [ 3 : 0 ] cal_st;
51
52 always @( posedge clk or negedge rst)
53 begin
54 if ( ~ rst)
55 begin
56 cal_tmp <= 4 ' b0000;
57 num1 <= 0 ;
58 num2 <= 0 ;
59 num1_decp <= 0 ;
60 num2_decp <= 0 ;
61 num1_dec <= 0 ;
62 num2_dec <= 0 ;
63 num1_sig <= 0 ;
64 num2_sig <= 0 ;
65 num1cal <= 0 ;
66 num2cal <= 0 ;
67 num1cal_decp <= 0 ;
68 num2cal_decp <= 0 ;
69 num1cal_dec <= 0 ;
70 num2cal_dec <= 0 ;
71 num1cal_sig <= 0 ;
72 num2cal_sig <= 0 ;
73 result_int <= 0 ;
74 result_dec <= 0 ;
75 result_decp <= 0 ;
76 result_sig <= 0 ;
77 cal_st <= 0 ;
78
2 num,
3 num_decp,
4 num_dec,
5 num_sig,
6 cal,
7 enter,
8 result_int,
9 result_dec,
10 result_sig,
11 result_decp,
12 clk,
13 rst
14 );
15
16 input clk;
17 input rst;
18 input [ 9 : 0 ] num;
19 input num_decp;
20 input num_sig;
21 input [ 9 : 0 ] num_dec;
22 input [ 3 : 0 ] cal;
23 input enter;
24 output [ 19 : 0 ] result_int;
25 output [ 9 : 0 ] result_dec;
26 output result_sig;
27 output result_decp;
28
29 reg [ 9 : 0 ] num1;
30 reg num1_decp;
31 reg num1_sig;
32 reg [ 9 : 0 ] num1_dec;
33 reg [ 9 : 0 ] num2;
34 reg num2_decp;
35 reg num2_sig;
36 reg [ 9 : 0 ] num2_dec;
37 reg [ 9 : 0 ] num1cal;
38 reg num1cal_decp;
39 reg num1cal_sig;
40 reg [ 9 : 0 ] num1cal_dec;
41 reg [ 9 : 0 ] num2cal;
42 reg num2cal_decp;
43 reg num2cal_sig;
44 reg [ 9 : 0 ] num2cal_dec;
45 reg [ 3 : 0 ] cal_tmp;
46 reg [ 19 : 0 ] result_int;
47 reg [ 9 : 0 ] result_dec;
48 reg result_sig;
49 reg result_decp;
50 reg [ 3 : 0 ] cal_st;
51
52 always @( posedge clk or negedge rst)
53 begin
54 if ( ~ rst)
55 begin
56 cal_tmp <= 4 ' b0000;
57 num1 <= 0 ;
58 num2 <= 0 ;
59 num1_decp <= 0 ;
60 num2_decp <= 0 ;
61 num1_dec <= 0 ;
62 num2_dec <= 0 ;
63 num1_sig <= 0 ;
64 num2_sig <= 0 ;
65 num1cal <= 0 ;
66 num2cal <= 0 ;
67 num1cal_decp <= 0 ;
68 num2cal_decp <= 0 ;
69 num1cal_dec <= 0 ;
70 num2cal_dec <= 0 ;
71 num1cal_sig <= 0 ;
72 num2cal_sig <= 0 ;
73 result_int <= 0 ;
74 result_dec <= 0 ;
75 result_decp <= 0 ;
76 result_sig <= 0 ;
77 cal_st <= 0 ;
78