44** DATA & PARITY TCV **
55** SHEET 46 of 50 **
66** **
7- ** Last reviewed: 2-FEB -2025 **
7+ ** Last reviewed: 22-MAR -2025 **
88** Ronny Hansen **
99***************************************************************************/
1010
1111module MEM_DATA_46 (
1212 // Input signals
13- input BCGNT50R_n, // ! Bus CPU Grant on read from memory after the address
13+ input BCGNT50R_n, // ! Bus CPU Grant on read from memory after the address (from 50 ns after GNT on read cycle)
1414 input BIOXL_n, // ! Bus IOX Enable
1515 input ECCR, // ! Bus ECC Request
1616 input HIEN_n, // ! High address bits enable (not used)
@@ -32,7 +32,8 @@ module MEM_DATA_46 (
3232 output LOERR, // ! Low address bits error
3333 output LERR_n, // ! Local error
3434 output LPERR_n, // ! Local parity error
35- output LED4 // ! LED4_RED_PARITY_ERROR
35+ output LED4, // ! LED4_RED_PARITY_ERROR (1=ON)
36+ output LED5 // ! LED5_DISABLE_PARTITY (1=ON)
3637);
3738
3839
@@ -111,12 +112,14 @@ module MEM_DATA_46 (
111112 // NOT Gate
112113 assign s_clr_15_8j = ~ s_clr_n;
113114 assign s_clr_14_8j = ~ s_nor_mrn_pan;
114- assign s_loerr_out = ~ s_loerr_n_out;
115- assign s_hierr_out = ~ s_hierr_n_out;
116115
117- // LED: LED4_RED_PARITY_ERROR
118- assign LED4 = s_led4;
116+ assign s_loerr_out = s_oet_n ? 0 : ~ s_loerr_n_out; // Pulled to 0 if s_oet_n is not 0
117+ assign s_hierr_out = s_oet_n ? 0 : ~ s_hierr_n_out; // Pulled to 0 if s_oet_n is not 0
119118
119+ // LED: LED4_RED_PARITY_ERROR
120+ assign LED4 = ~ s_led4;
121+ // LED: LED5_DISABLE_PARITY
122+ assign LED5 = ~ s_dis_n;
120123 /*******************************************************************************
121124 ** Here all normal components are defined **
122125 *******************************************************************************/
@@ -136,13 +139,16 @@ module MEM_DATA_46 (
136139 .result(s_nor_mrn_pan)
137140 );
138141
142+ /*
139143 NOR_GATE #(
140144 .BubblesMask(2'b00)
141145 ) GATES_3 (
142146 .input1(s_loerr_out),
143147 .input2(s_hierr_out),
144148 .result(s_lerr_n_out)
145149 );
150+ */
151+ assign s_lerr_n_out= ~ (s_loerr_out | s_hierr_out);
146152
147153 J_K_FLIPFLOP #(
148154 .InvertClockEnable(1 )
@@ -152,7 +158,7 @@ module MEM_DATA_46 (
152158 .k(s_gnd),
153159 .preset(s_gnd),
154160 .q(),
155- .qBar(s_led4),
161+ .qBar(s_led4), // LED4 PARITY ERROR
156162 .reset(s_clr_15_8j),
157163 .tick(1'b1 )
158164 );
@@ -188,7 +194,7 @@ module MEM_DATA_46 (
188194 .BCGNT50R_n(s_bcgnt50r_n), // ! I8 - BCGNT50R_n
189195 // .HIEN_n(s_hien_n), //! I9 - EPEA_n (NOT USED!)
190196
191- .DIS_n(s_dis_n), // ! DIS_n Y0_n (OUT Only)
197+ .DIS_n(s_dis_n), // ! DIS_n Y0_n (OUT Only) (LED5 Disable Parity)
192198 .OER_n(s_oer_n), // ! OER_n Y1_n (OUT ONLY)
193199
194200 .OET_n (s_oet_n), // ! B0_n - OET_n
0 commit comments