Quellcode durchsuchen

Протестирован режим 4MOSI(100МГц) all_SPIs

Anatoliy Chigirinskiy vor 2 Jahren
Ursprung
Commit
d07dd0ebcf

Datei-Diff unterdrückt, da er zu groß ist
+ 50 - 286
constrs_1/new/S5443_3.xdc


+ 49 - 49
sources_1/ip/ClkDiv/ClkDiv.xci

@@ -138,26 +138,26 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKIN2_JITTER_PS">100.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT0_1">0000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT0_2">0000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT0_ACTUAL_FREQ">12.00126</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT0_ACTUAL_FREQ">99.93750</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_1">0000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_2">0000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_ACTUAL_FREQ">79.60833</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_ACTUAL_FREQ">79.95000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_DRIVES">BUFG</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_DUTY_CYCLE">50.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_OUT_FREQ">12.00126</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_OUT_FREQ">99.93750</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_REQUESTED_OUT_FREQ">12</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_REQUESTED_OUT_FREQ">100</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_REQUESTED_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT1_SEQUENCE_NUMBER">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_1">0000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_2">0000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_ACTUAL_FREQ">70.24265</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_ACTUAL_FREQ">70.54412</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_DRIVES">BUFG</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_DUTY_CYCLE">50.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_OUT_FREQ">79.60833</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_OUT_FREQ">79.95000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_REQUESTED_OUT_FREQ">80.000</spirit:configurableElementValue>
@@ -166,11 +166,11 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT2_USED">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_1">0000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_2">0000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_ACTUAL_FREQ">59.70625</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_ACTUAL_FREQ">59.96250</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_DRIVES">BUFG</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_DUTY_CYCLE">50.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_OUT_FREQ">70.24265</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_OUT_FREQ">70.54412</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_REQUESTED_OUT_FREQ">70.000</spirit:configurableElementValue>
@@ -179,11 +179,11 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT3_USED">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_1">0000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_2">0000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_ACTUAL_FREQ">49.75521</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_ACTUAL_FREQ">49.96875</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_DRIVES">BUFG</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_DUTY_CYCLE">50.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_OUT_FREQ">59.70625</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_OUT_FREQ">59.96250</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_REQUESTED_OUT_FREQ">60.000</spirit:configurableElementValue>
@@ -192,11 +192,11 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT4_USED">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_1">0000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_2">0000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_ACTUAL_FREQ">39.80417</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_ACTUAL_FREQ">39.97500</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_DRIVES">BUFG</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_DUTY_CYCLE">50.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_OUT_FREQ">49.75521</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_OUT_FREQ">49.96875</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_REQUESTED_OUT_FREQ">50.000</spirit:configurableElementValue>
@@ -205,11 +205,11 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT5_USED">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_1">0000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_2">0000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_ACTUAL_FREQ">29.85312</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_ACTUAL_FREQ">29.98125</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_DRIVES">BUFG</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_DUTY_CYCLE">50.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_OUT_FREQ">39.80417</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_OUT_FREQ">39.97500</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT6_REQUESTED_OUT_FREQ">40.000</spirit:configurableElementValue>
@@ -219,7 +219,7 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT7_DRIVES">BUFG</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT7_DUTY_CYCLE">50.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT7_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT7_OUT_FREQ">29.85312</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT7_OUT_FREQ">29.98125</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT7_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT7_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_CLKOUT7_REQUESTED_OUT_FREQ">30</spirit:configurableElementValue>
@@ -243,12 +243,12 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_PORT">din</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVCLK">0000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE1_AUTO">1</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE2_AUTO">0.15</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE3_AUTO">0.17142857142857143</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE4_AUTO">0.2</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE5_AUTO">0.24</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE6_AUTO">0.3</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE7_AUTO">0.4</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE2_AUTO">1.25</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE3_AUTO">1.4285714285714286</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE4_AUTO">1.6666666666666667</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE5_AUTO">2.0</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE6_AUTO">2.5</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIVIDE7_AUTO">3.3333333333333335</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DOUT_PORT">dout</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DRDY_PORT">drdy</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DWE_PORT">dwe</spirit:configurableElementValue>
@@ -286,12 +286,12 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCMBUFGCEDIV6">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCMBUFGCEDIV7">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_BANDWIDTH">OPTIMIZED</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKFBOUT_MULT_F">29.125</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKFBOUT_MULT_F">9.750</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKFBOUT_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKFBOUT_USE_FINE_PS">FALSE</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKIN1_PERIOD">8.130</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKIN2_PERIOD">10.000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKOUT0_DIVIDE_F">99.500</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKOUT0_DIVIDE_F">12.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKOUT0_DUTY_CYCLE">0.500</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKOUT0_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKOUT0_USE_FINE_PS">FALSE</spirit:configurableElementValue>
@@ -322,7 +322,7 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLKOUT6_USE_FINE_PS">FALSE</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_CLOCK_HOLD">FALSE</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_COMPENSATION">ZHOLD</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_DIVCLK_DIVIDE">3</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_DIVCLK_DIVIDE">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_NOTES">None</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_REF_JITTER1">0.010</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_MMCM_REF_JITTER2">0.010</spirit:configurableElementValue>
@@ -332,13 +332,13 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_NUM_OUT_CLKS">7</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW0A"> Output     Output      Phase    Duty Cycle   Pk-to-Pk     Phase</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW0B">  Clock     Freq (MHz)  (degrees)    (%)     Jitter (ps)  Error (ps)</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW1">clk_out1__12.00126______0.000______50.0______241.413____165.815</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW2">clk_out2__79.60833______0.000______50.0______153.004____165.815</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW3">clk_out3__70.24265______0.000______50.0______156.812____165.815</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW4">clk_out4__59.70625______0.000______50.0______162.012____165.815</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW5">clk_out5__49.75521______0.000______50.0______168.233____165.815</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW6">clk_out6__39.80417______0.000______50.0______176.499____165.815</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW7">clk_out7__29.85312______0.000______50.0______188.450____165.815</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW1">clk_out1__99.93750______0.000______50.0______112.035_____85.478</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW2">clk_out2__79.95000______0.000______50.0______116.822_____85.478</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW3">clk_out3__70.54412______0.000______50.0______119.640_____85.478</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW4">clk_out4__59.96250______0.000______50.0______123.604_____85.478</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW5">clk_out5__49.96875______0.000______50.0______128.250_____85.478</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW6">clk_out6__39.97500______0.000______50.0______134.251_____85.478</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OUTCLK_SUM_ROW7">clk_out7__29.98125______0.000______50.0______142.568_____85.478</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OVERRIDE_MMCM">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_OVERRIDE_PLL">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_O_MAX">128.000</spirit:configurableElementValue>
@@ -454,63 +454,63 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKIN2_JITTER_PS">100.0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKIN2_UI_JITTER">0.010</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_DRIVES">BUFG</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_JITTER">241.413</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_JITTER">112.035</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_PHASE_ERROR">165.815</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_PHASE_ERROR">85.478</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_REQUESTED_OUT_FREQ">12</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_REQUESTED_OUT_FREQ">100</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_REQUESTED_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_SEQUENCE_NUMBER">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT1_USED">true</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_DRIVES">BUFG</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_JITTER">153.004</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_JITTER">116.822</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_PHASE_ERROR">165.815</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_PHASE_ERROR">85.478</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_REQUESTED_OUT_FREQ">80.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_REQUESTED_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_SEQUENCE_NUMBER">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT2_USED">true</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_DRIVES">BUFG</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_JITTER">156.812</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_JITTER">119.640</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_PHASE_ERROR">165.815</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_PHASE_ERROR">85.478</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_REQUESTED_OUT_FREQ">70.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_REQUESTED_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_SEQUENCE_NUMBER">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT3_USED">true</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_DRIVES">BUFG</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_JITTER">162.012</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_JITTER">123.604</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_PHASE_ERROR">165.815</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_PHASE_ERROR">85.478</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_REQUESTED_OUT_FREQ">60.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_REQUESTED_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_SEQUENCE_NUMBER">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT4_USED">true</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_DRIVES">BUFG</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_JITTER">168.233</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_JITTER">128.250</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_PHASE_ERROR">165.815</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_PHASE_ERROR">85.478</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_REQUESTED_OUT_FREQ">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_REQUESTED_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_SEQUENCE_NUMBER">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT5_USED">true</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_DRIVES">BUFG</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_JITTER">176.499</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_JITTER">134.251</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_PHASE_ERROR">165.815</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_PHASE_ERROR">85.478</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_REQUESTED_OUT_FREQ">40.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_REQUESTED_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_SEQUENCE_NUMBER">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT6_USED">true</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_DRIVES">BUFG</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_JITTER">188.450</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_JITTER">142.568</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_MATCHED_ROUTING">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_PHASE_ERROR">165.815</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_PHASE_ERROR">85.478</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_REQUESTED_DUTY_CYCLE">50.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_REQUESTED_OUT_FREQ">30</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.CLKOUT7_REQUESTED_PHASE">0.000</spirit:configurableElementValue>
@@ -565,12 +565,12 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.JITTER_SEL">No_Jitter</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.LOCKED_PORT">locked</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_BANDWIDTH">OPTIMIZED</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKFBOUT_MULT_F">29.125</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKFBOUT_MULT_F">9.750</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKFBOUT_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKFBOUT_USE_FINE_PS">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKIN1_PERIOD">8.130</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKIN2_PERIOD">10.000</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKOUT0_DIVIDE_F">99.500</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKOUT0_DIVIDE_F">12.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKOUT0_DUTY_CYCLE">0.500</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKOUT0_PHASE">0.000</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKOUT0_USE_FINE_PS">false</spirit:configurableElementValue>
@@ -601,7 +601,7 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLKOUT6_USE_FINE_PS">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_CLOCK_HOLD">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_COMPENSATION">ZHOLD</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_DIVCLK_DIVIDE">3</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_DIVCLK_DIVIDE">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_NOTES">None</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_REF_JITTER1">0.010</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.MMCM_REF_JITTER2">0.010</spirit:configurableElementValue>

+ 17 - 17
sources_1/ip/DataFifoRx/DataFifoRx.xci

@@ -157,7 +157,7 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_AXI_WUSER_WIDTH">1</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COMMON_CLOCK">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_COUNT_TYPE">0</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DATA_COUNT_WIDTH">11</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DATA_COUNT_WIDTH">9</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DEFAULT_VALUE">BlankString</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH">32</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_DIN_WIDTH_AXIS">1</spirit:configurableElementValue>
@@ -243,7 +243,7 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_POWER_SAVING_MODE">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_LATENCY">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRELOAD_REGS">1</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE">2kx18</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE">512x36</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_AXIS">1kx18</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RACH">512x36</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PRIM_FIFO_TYPE_RDCH">1kx36</spirit:configurableElementValue>
@@ -265,14 +265,14 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WACH">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WDCH">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_EMPTY_TYPE_WRCH">0</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL">2039</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL">503</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_AXIS">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RACH">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_RDCH">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WACH">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WDCH">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_ASSERT_VAL_WRCH">1023</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_NEGATE_VAL">2038</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_THRESH_NEGATE_VAL">502</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_AXIS">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_RACH">0</spirit:configurableElementValue>
@@ -282,10 +282,10 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_PROG_FULL_TYPE_WRCH">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RACH_TYPE">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RDCH_TYPE">0</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DATA_COUNT_WIDTH">11</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DEPTH">2048</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DATA_COUNT_WIDTH">9</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_DEPTH">512</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_FREQ">123</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_PNTR_WIDTH">11</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_RD_PNTR_WIDTH">9</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_AXIS">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RACH">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_REG_SLICE_MODE_RDCH">0</spirit:configurableElementValue>
@@ -315,8 +315,8 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WDCH_TYPE">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WRCH_TYPE">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_ACK_LOW">0</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DATA_COUNT_WIDTH">11</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH">2048</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DATA_COUNT_WIDTH">9</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH">512</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_AXIS">1024</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RACH">16</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_RDCH">1024</spirit:configurableElementValue>
@@ -324,7 +324,7 @@
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WDCH">1024</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_DEPTH_WRCH">16</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_FREQ">100</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH">11</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH">9</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_AXIS">10</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RACH">4</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="MODELPARAM_VALUE.C_WR_PNTR_WIDTH_RDCH">10</spirit:configurableElementValue>
@@ -345,7 +345,7 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Component_Name">DataFifoRx</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.DATA_WIDTH">64</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count_Width">11</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Data_Count_Width">9</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Disable_Timing_Violations_AXI">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Dout_Reset_Value">0</spirit:configurableElementValue>
@@ -391,14 +391,14 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.FIFO_Implementation_wrch">Common_Clock_Block_RAM</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Fifo_Implementation">Independent_Clocks_Builtin_FIFO</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Flags_Reset_Value">0</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value">2039</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value">503</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_axis">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rach">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_rdch">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wach">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wdch">1023</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Assert_Value_wrch">1023</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Negate_Value">2038</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Full_Threshold_Negate_Value">502</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_ACLKEN">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TKEEP">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.HAS_TSTRB">false</spirit:configurableElementValue>
@@ -419,7 +419,7 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wdch">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Inject_Sbit_Error_wrch">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Data_Width">32</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth">2048</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth">512</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_axis">1024</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rach">16</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_rdch">1024</spirit:configurableElementValue>
@@ -428,7 +428,7 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Input_Depth_wrch">16</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Master_interface_Clock_enable_memory_mapped">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Data_Width">32</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Depth">2048</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Depth">512</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Output_Register_Type">Embedded_Reg</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Overflow_Flag_AXI">false</spirit:configurableElementValue>
@@ -454,7 +454,7 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.RUSER_Width">0</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Clock_Frequency">123</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count_Width">11</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Read_Data_Count_Width">9</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_axis">Fully_Registered</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rach">Fully_Registered</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Register_Slice_Mode_rdch">Fully_Registered</spirit:configurableElementValue>
@@ -485,7 +485,7 @@
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Acknowledge_Sense">Active_High</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Clock_Frequency">100</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count">false</spirit:configurableElementValue>
-        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count_Width">11</spirit:configurableElementValue>
+        <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.Write_Data_Count_Width">9</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.asymmetric_port_width">false</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.axis_type">FIFO</spirit:configurableElementValue>
         <spirit:configurableElementValue spirit:referenceId="PARAM_VALUE.dynamic_power_saving">false</spirit:configurableElementValue>

+ 1 - 8
sources_1/new/MMCM/ClkGen.v

@@ -25,14 +25,7 @@ always @(posedge Clk_i) begin
     end
 end
 
-assign clk_o = (cnt < ClkDiv_i/2) ? 1 : 0;
-
-
-BUFG BUFG_inst (
-   .O(Clk_o), // 1-bit output: Clock output
-   .I(clk_o)  // 1-bit input: Clock input
-);
-
+assign Clk_o = (cnt < ClkDiv_i/2) ? 1 : 0;
 
 
 

+ 2 - 2
sources_1/new/MMCM/ClkOutMMCM.v

@@ -21,13 +21,13 @@ always @(*) begin
     end
     else begin 
         case (clkNum) 
-            6: clkOutMMCM = clk0out;
+            0: clkOutMMCM = clk0out;
             1: clkOutMMCM = clk1out;
             2: clkOutMMCM = clk2out;
             3: clkOutMMCM = clk3out;
             4: clkOutMMCM = clk4out;
             5: clkOutMMCM = clk5out;
-            0: clkOutMMCM = clk6out;
+            6: clkOutMMCM = clk6out;
             default: clkOutMMCM = 0;
         endcase
     end

+ 3 - 3
sources_1/new/MMCM/MmcmWrapper.v

@@ -122,8 +122,8 @@ generate
          .clk1out(clk1out),
          .clk2out(clk2out),
          .clk3out(clk3out),
-         // .clk4out(clk4out),
-         // .clk5out(clk5out),
+         .clk4out(clk4out),
+         .clk5out(clk5out),
          .clk6out(clk6out),
          .clkOutMMCM(clkOutMMCM[i])
       );
@@ -152,7 +152,7 @@ endgenerate
     .clk_out3(clk2out),     // 70 MHz
     .clk_out4(clk3out),     // 60MHz
     .clk_out5(clk4out),     // 50MHz
-    .clk_out6(clk5out),     // 40MHz
+   //  .clk_out6(clk5out),     // 40MHz
     .clk_out7(clk6out),     // 30MHz 
     // Status and control signals
     .reset(Rst_i), // input reset

+ 9 - 9
sources_1/new/S5443_3Top.v

@@ -24,7 +24,7 @@ module S5443_3Top
 #(
     parameter CmdRegWidth = 32,
     parameter AddrRegWidth = 12,
-    parameter SpiNum = 1
+    parameter SpiNum = 7
 
 )
 (
@@ -266,13 +266,13 @@ wire	[CmdRegWidth/2-1:0]	ansData;
 assign addr = {SmcAddr_i, 1'b0};
 assign smcValComb = (!SmcAmsN_i && !SmcAwe_i) ? 1'b1 : 1'b0;
 assign ten = SpiTxRxEn[6:0];
-assign Mosi1_io[0] =(spiMode[0])?Mosi1[0]:1'bz;
-assign Mosi1_io[1] =(spiMode[1])?Mosi1[1]:1'bz;
-assign Mosi1_io[2] =(spiMode[2])?Mosi1[2]:1'bz;
-assign Mosi1_io[3] =(spiMode[3])?Mosi1[3]:1'bz;
-assign Mosi1_io[4] =(spiMode[4])?Mosi1[4]:1'bz;
-assign Mosi1_io[5] =(spiMode[5])?Mosi1[5]:1'bz;
-assign Mosi1_io[6] =(spiMode[6])?Mosi1[6]:1'bz;
+assign Mosi1_io[0] =(SpiDir_o[0])?Mosi1[0]:1'bz;
+assign Mosi1_io[1] =(SpiDir_o[1])?Mosi1[1]:1'bz;
+assign Mosi1_io[2] =(SpiDir_o[2])?Mosi1[2]:1'bz;
+assign Mosi1_io[3] =(SpiDir_o[3])?Mosi1[3]:1'bz;
+assign Mosi1_io[4] =(SpiDir_o[4])?Mosi1[4]:1'bz;
+assign Mosi1_io[5] =(SpiDir_o[5])?Mosi1[5]:1'bz;
+assign Mosi1_io[6] =(SpiDir_o[6])?Mosi1[6]:1'bz;
 assign Mosi2_o = Mosi2;
 assign Mosi3_o = Mosi3;
 assign Ss_o[0] = (Assel[0])? ((CS0[0])? Ss[0]:~Ss[0]):CS0[0];
@@ -822,7 +822,7 @@ generate
             .Rst_i(initRstGen[i]|SpiRst_o[i]| spiMode[i]),
             .Sck_i(SckR[i]),
             .Ss_i(SsR[i]),
-            .Mosi0_i(Mosi0R[i]),
+            .Mosi0_i(Mosi1_io[i]),
             .WidthSel_i(widthSel[i]),
             .SELST_i(selSt[i]),
             .DataToRxFifo_o(dataToRxFifoR[i]),

+ 18 - 2
sources_1/new/SRAM/QuadSPIm.v

@@ -20,7 +20,7 @@ module QuadSPIm(
     output reg Mosi2_i,
     output reg Mosi3_i,
     output reg  Sck_o,
-    output  Val_o,
+    output reg Val_o,
     output Ss_o
 
 );
@@ -28,6 +28,7 @@ module QuadSPIm(
 //  REG/WIRE
 //================================================================================
 reg startFlag;
+reg startR;
 reg [31:0] trCnt;
 
 reg valReg;
@@ -52,12 +53,27 @@ wire SsPol = SELST_i ? Ss : ~Ss;
 //================================================================================
 
 assign Ss_o = Ss; 
-assign Val_o = (trCnt < 1 ) ?!lineBusy:valReg;
+// assign Val_o = (trCnt < 1 ) ?!lineBusy:valReg;
 //================================================================================
 //  CODING
 //================================================================================	
 
 
+always @(*) begin 
+    if (Start_i) begin 
+        // if (trCnt < 1) begin 
+        //     Val_o = !lineBusy;
+        // end
+        // else begin 
+            Val_o = valReg;
+    end
+    else begin 
+        Val_o = 1'b0;
+    end
+end
+
+
+
 always @(*) begin 
     if (SELST_i) begin 
         if (!Ss) begin 

+ 227 - 739
sources_1/new/SRAM/RegMap.v

@@ -111,21 +111,6 @@ reg [CmdRegWidth/2-1:0] Spi0RxFifoCtrlReg;
 reg [CmdRegWidth/2-1:0] Spi0TxFifoReg;
 reg [CmdRegWidth/2-1:0] Spi0RxFifoReg;
 
-// (* dont_touch = "yes" *) reg [CmdRegWidth-1:0] TxFifoCtrlReg0Reg;
-// reg [CmdRegWidth-1:0] RxFifoCtrlReg0Reg;
-// reg [CmdRegWidth-1:0] TxFifoCtrlReg1Reg;
-// reg [CmdRegWidth-1:0] RxFifoCtrlReg1Reg;
-// reg [CmdRegWidth-1:0] TxFifoCtrlReg2Reg;
-// reg [CmdRegWidth-1:0] RxFifoCtrlReg2Reg;
-// reg [CmdRegWidth-1:0] TxFifoCtrlReg3Reg;
-// reg [CmdRegWidth-1:0] RxFifoCtrlReg3Reg;
-// reg [CmdRegWidth-1:0] TxFifoCtrlReg4Reg;
-// reg [CmdRegWidth-1:0] RxFifoCtrlReg4Reg;
-// reg [CmdRegWidth-1:0] TxFifoCtrlReg5Reg;
-// reg [CmdRegWidth-1:0] RxFifoCtrlReg5Reg;
-// reg [CmdRegWidth-1:0] TxFifoCtrlReg6Reg;
-// reg [CmdRegWidth-1:0] RxFifoCtrlReg6Reg;
-
 
 reg [CmdRegWidth/2-1:0] Spi1CtrlReg;
 reg [CmdRegWidth/2-1:0] Spi1ClkReg;
@@ -357,44 +342,6 @@ localparam Debug0Addr = 12'hFF8;
 localparam Debug1Addr = 12'hFFC;
 //================================================================================
 
-// always @(posedge Clk_i) begin 
-//     if (Rst_i) begin 
-//         TxFifoCtrlReg0Reg <= 0;
-//         RxFifoCtrlReg0Reg <= 0;
-//         TxFifoCtrlReg1Reg <= 0;
-//         RxFifoCtrlReg1Reg <= 0;
-//         TxFifoCtrlReg2Reg <= 0;
-//         RxFifoCtrlReg2Reg <= 0;
-//         TxFifoCtrlReg3Reg <= 0;
-//         RxFifoCtrlReg3Reg <= 0;
-//         TxFifoCtrlReg4Reg <= 0;
-//         RxFifoCtrlReg4Reg <= 0;
-//         TxFifoCtrlReg5Reg <= 0;
-//         RxFifoCtrlReg5Reg <= 0;
-//         TxFifoCtrlReg6Reg <= 0;
-//         RxFifoCtrlReg6Reg <= 0;
-//     end
-//     else begin 
-//         TxFifoCtrlReg0Reg <= TxFifoCtrlReg0_i;
-//         RxFifoCtrlReg0Reg <= RxFifoCtrlReg0_i;
-//         TxFifoCtrlReg1Reg <= TxFifoCtrlReg1_i;
-//         RxFifoCtrlReg1Reg <= RxFifoCtrlReg1_i;
-//         TxFifoCtrlReg2Reg <= TxFifoCtrlReg2_i;
-//         RxFifoCtrlReg2Reg <= RxFifoCtrlReg2_i;
-//         TxFifoCtrlReg3Reg <= TxFifoCtrlReg3_i;
-//         RxFifoCtrlReg3Reg <= RxFifoCtrlReg3_i;
-//         TxFifoCtrlReg4Reg <= TxFifoCtrlReg4_i;
-//         RxFifoCtrlReg4Reg <= RxFifoCtrlReg4_i;
-//         TxFifoCtrlReg5Reg <= TxFifoCtrlReg5_i;
-//         RxFifoCtrlReg5Reg <= RxFifoCtrlReg5_i;
-//         TxFifoCtrlReg6Reg <= TxFifoCtrlReg6_i;
-//         RxFifoCtrlReg6Reg <= RxFifoCtrlReg6_i;
-//     end
-// end
-
-
-
-
 
 always	@(posedge	Clk_i)	begin
 	if	(!Rst_i)	begin
@@ -1032,692 +979,233 @@ always @(*) begin
     if (Rst_i) begin 
         ansReg = 0;
     end	else begin
-			case(beReg) 
-				0 : begin 
-					case (Addr_i)
-						Spi0CtrlAddr : begin 
-							ansReg = Spi0CtrlReg;
-						end
-						Spi0ClkAddr : begin 
-							ansReg = Spi0ClkReg;
-						end
-						Spi0CsDelayAddr : begin 
-							ansReg = Spi0CsDelayReg;
-						end
-						Spi0CsCtrlAddr : begin 
-							ansReg = Spi0CsCtrlReg;
-						end
-						Spi0TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg0_i[15:0];
-						end
-                        Spi0TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg0_i[31:16];
-                        end
-						Spi0RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg0_i[15:0];
-						end
-                        Spi0RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg0_i[31:16];
-                        end
-						Spi0TxFifo : begin 
-							ansReg = Spi0TxFifoReg;
-						end
-						Spi0RxFifo : begin 
-							ansReg = Spi0RxFifoReg;
-						end
-						Spi1CtrlAddr : begin 
-							ansReg = Spi1CtrlReg;
-						end
-						Spi1ClkAddr : begin 
-							ansReg = Spi1ClkReg;
-						end
-						Spi1CsDelayAddr : begin 
-							ansReg = Spi1CsDelayReg;
-						end
-						Spi1CsCtrlAddr : begin 
-							ansReg = Spi1CsCtrlReg;
-						end
-						Spi1TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg1_i[15:0];
-						end
-                        Spi1TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg1_i[31:16];
-                        end
-						Spi1RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg1_i[15:0];
-						end
-                        Spi1RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg1_i[31:16];
-                        end
-						Spi1TxFifo : begin 
-							ansReg = Spi1TxFifoReg;
-						end
-						Spi1RxFifo : begin 
-							ansReg = Spi1RxFifoReg;
-						end
-						Spi2CtrlAddr : begin 
-							ansReg = Spi2CtrlReg;
-						end
-						Spi2ClkAddr : begin 
-							ansReg = Spi2ClkReg;
-						end
-						Spi2CsDelayAddr : begin 
-							ansReg = Spi2CsDelayReg;
-						end
-						Spi2CsCtrlAddr : begin 
-							ansReg = Spi2CsCtrlReg;
-						end
-						Spi2TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg2_i[15:0];
-						end
-                        Spi2TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg2_i[31:16];
-                        end
-						Spi2RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg2_i[15:0];
-						end
-                        Spi2RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg2_i[31:16];
-                        end
-						Spi2TxFifo : begin 
-							ansReg = Spi2TxFifoReg;
-						end
-						Spi2RxFifo : begin 
-							ansReg = Spi2RxFifoReg;
-						end
-						Spi3CtrlAddr : begin 
-							ansReg = Spi3CtrlReg;
-						end
-						Spi3ClkAddr : begin 
-							ansReg = Spi3ClkReg;
-						end
-						Spi3CsDelayAddr : begin 
-							ansReg = Spi3CsDelayReg;
-						end
-						Spi3CsCtrlAddr : begin 
-							ansReg = Spi3CsCtrlReg;
-						end
-						Spi3TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg3_i[15:0];
-						end
-                        Spi3TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg3_i[31:16];
-                        end
-						Spi3RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg3_i[15:0];
-						end
-                        Spi3RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg3_i[31:16];
-                        end
-						Spi3TxFifo : begin 
-							ansReg = Spi3TxFifoReg;
-						end
-						Spi3RxFifo : begin 
-							ansReg = Spi3RxFifoReg;
-						end
-						Spi4CtrlAddr : begin 
-							ansReg = Spi4CtrlReg;
-						end
-						Spi4ClkAddr : begin 
-							ansReg = Spi4ClkReg;
-						end
-						Spi4CsDelayAddr : begin 
-							ansReg = Spi4CsDelayReg;
-						end
-						Spi4CsCtrlAddr : begin 
-							ansReg = Spi4CsCtrlReg;
-						end
-						Spi4TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg4_i[15:0];
-						end
-                        Spi4TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg4_i[31:16];
-                        end
-						Spi4RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg4_i[15:0];
-						end
-                        Spi4RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg4_i[31:16];
-                        end
-						Spi4TxFifo : begin 
-							ansReg = Spi4TxFifoReg;
-						end
-						Spi4RxFifo : begin 
-							ansReg = Spi4RxFifoReg;
-						end
-						Spi5CtrlAddr : begin 
-							ansReg = Spi5CtrlReg;
-						end
-						Spi5ClkAddr : begin 
-							ansReg = Spi5ClkReg;
-						end
-						Spi5CsDelayAddr : begin 
-							ansReg = Spi5CsDelayReg;
-						end
-						Spi5CsCtrlAddr : begin 
-							ansReg = Spi5CsCtrlReg;
-						end
-						Spi5TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg5_i[15:0];
-						end
-                        Spi5TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg5_i[31:16];
-                        end
-						Spi5RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg5_i[15:0];
-						end
-                        Spi5RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg5_i[31:16];
-                        end
-						Spi5TxFifo : begin 
-							ansReg = Spi5TxFifoReg;
-						end
-						Spi5RxFifo : begin 
-							ansReg = Spi5RxFifoReg;
-						end
-						Spi6CtrlAddr : begin 
-							ansReg = Spi6CtrlReg;
-						end
-						Spi6ClkAddr : begin 
-							ansReg = Spi6ClkReg;
-						end
-						Spi6CsDelayAddr : begin 
-							ansReg = Spi6CsDelayReg;
-						end
-						Spi6CsCtrlAddr : begin 
-							ansReg = Spi6CsCtrlReg;
-						end
-						Spi6TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg6_i[15:0];
-						end
-                        Spi6TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg6_i[31:16];
-                        end
-						Spi6RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg6_i[15:0];
-						end
-                        Spi6RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg6_i[31:16];
-                        end
-						Spi6TxFifo : begin 
-							ansReg = Spi6TxFifoReg;
-						end
-						Spi6RxFifo : begin 
-							ansReg = Spi6RxFifoReg;
-						end
-						SpiTxRxEn : begin 
-							ansReg = SpiTxRxEnReg;
-						end
-						GPIOCtrlAddr : begin 
-							ansReg = GPIOAReg;
-						end
-                        GPIOCtrlAddrS : begin 
-                            ansReg = GPIOARegS;
-                        end
-						Debug0Addr : begin 
-							ansReg = LedReg;
-						end
-					endcase
-				end
-				1 : begin 
-					case (Addr_i)
-						Spi0CtrlAddr : begin
-							ansReg = Spi0CtrlReg[15:8];
-						end
-						Spi0ClkAddr : begin 
-							ansReg = Spi0ClkReg[15:8];
-						end
-						Spi0CsDelayAddr : begin 
-							ansReg = Spi0CsDelayReg[15:8];
-						end
-						Spi0CsCtrlAddr : begin 
-							ansReg = Spi0CsCtrlReg[15:8];
-						end
-						Spi0TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg0_i[15:8];
-						end
-                        Spi0TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg0_i[31:24];
-                        end
-						Spi0RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg0_i[15:8];
-						end
-                        Spi0RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg0_i[31:24];
-                        end
-						Spi0TxFifo : begin 
-							ansReg = Spi0TxFifoReg[15:8];
-						end
-						Spi0RxFifo : begin 
-							ansReg = Spi0RxFifoReg[15:8];
-						end
-						Spi1CtrlAddr : begin 
-							ansReg = Spi1CtrlReg[15:8];
-						end
-						Spi1ClkAddr : begin 
-							ansReg = Spi1ClkReg[15:8];
-						end
-						Spi1CsDelayAddr : begin 
-							ansReg = Spi1CsDelayReg[15:8];
-						end
-						Spi1CsCtrlAddr : begin 
-							ansReg = Spi1CsCtrlReg[15:8];
-						end
-						Spi1TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg1_i[15:8];
-						end
-                        Spi1TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg1_i[31:24];
-                        end
-						Spi1RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg1_i[15:8];
-						end
-                        Spi1RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg1_i[31:24];
-                        end
-						Spi1TxFifo : begin 
-							ansReg = Spi1TxFifoReg[15:8];
-						end
-						Spi1RxFifo : begin 
-							ansReg = Spi1RxFifoReg[15:8];
-						end
-						Spi2CtrlAddr : begin 
-							ansReg = Spi2CtrlReg[15:8];
-						end
-						Spi2ClkAddr : begin 
-							ansReg = Spi2ClkReg[15:8];
-						end
-						Spi2CsDelayAddr : begin 
-							ansReg = Spi2CsDelayReg[15:8];
-						end
-						Spi2CsCtrlAddr : begin 
-							ansReg = Spi2CsCtrlReg[15:8];
-						end
-						Spi2TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg2_i[15:8];
-						end
-                        Spi2TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg2_i[31:24];
-                        end
-						Spi2RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg2_i[15:8];
-						end
-                        Spi2RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg2_i[31:24];
-                        end
-						Spi2TxFifo : begin 
-							ansReg = Spi2TxFifoReg[15:8];
-						end
-						Spi2RxFifo : begin 
-							ansReg = Spi2RxFifoReg[15:8];
-						end
-						Spi3CtrlAddr : begin 
-							ansReg = Spi3CtrlReg[15:8];
-						end
-						Spi3ClkAddr : begin 
-							ansReg = Spi3ClkReg[15:8];
-						end
-						Spi3CsDelayAddr : begin 
-							ansReg = Spi3CsDelayReg[15:8];
-						end
-						Spi3CsCtrlAddr : begin 
-							ansReg = Spi3CsCtrlReg[15:8];
-						end
-						Spi3TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg3_i[15:8];
-						end
-                        Spi3TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg3_i[31:24];
-                        end
-						Spi3RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg3_i[15:8];
-						end
-                        Spi3RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg3_i[31:24];
-                        end
-						Spi3TxFifo : begin 
-							ansReg = Spi3TxFifoReg[15:8];
-						end
-						Spi3RxFifo : begin 
-							ansReg = Spi3RxFifoReg[15:8];
-						end
-						Spi4CtrlAddr : begin 
-							ansReg = Spi4CtrlReg[15:8];
-						end
-						Spi4ClkAddr : begin 
-							ansReg = Spi4ClkReg[15:8];
-						end
-						Spi4CsDelayAddr : begin 
-							ansReg = Spi4CsDelayReg[15:8];
-						end
-						Spi4CsCtrlAddr : begin 
-							ansReg = Spi4CsCtrlReg[15:8];
-						end
-						Spi4TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg4_i[15:8];
-						end
-                        Spi4TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg4_i[31:24];
-                        end
-						Spi4RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg4_i[15:8];
-						end
-                        Spi4RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg4_i[31:24];
-                        end
-						Spi4TxFifo : begin 
-							ansReg = Spi4TxFifoReg[15:8];
-						end
-						Spi4RxFifo : begin 
-							ansReg = Spi4RxFifoReg[15:8];
-						end
-						Spi5CtrlAddr : begin 
-							ansReg = Spi5CtrlReg[15:8];
-						end
-						Spi5ClkAddr : begin 
-							ansReg = Spi5ClkReg[15:8];
-						end
-						Spi5CsDelayAddr : begin 
-							ansReg = Spi5CsDelayReg[15:8];
-						end
-						Spi5CsCtrlAddr : begin 
-							ansReg = Spi5CsCtrlReg[15:8];
-						end
-						Spi5TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg5_i[15:8];
-						end
-                        Spi5TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg5_i[31:24];
-                        end
-						Spi5RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg5_i[15:8];
-						end
-                        Spi5RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg5_i[31:24];
-                        end
-						Spi5TxFifo : begin 
-							ansReg = Spi5TxFifoReg[15:8];
-						end
-						Spi5RxFifo : begin 
-							ansReg = Spi5RxFifoReg[15:8];
-						end
-						Spi6CtrlAddr : begin 
-							ansReg = Spi6CtrlReg[15:8];
-						end
-						Spi6ClkAddr : begin 
-							ansReg = Spi6ClkReg[15:8];
-						end
-						Spi6CsDelayAddr : begin 
-							ansReg = Spi6CsDelayReg[15:8];
-						end
-						Spi6CsCtrlAddr : begin 
-							ansReg = Spi6CsCtrlReg[15:8];
-						end
-						Spi6TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg6_i[15:8];
-						end
-                        Spi6TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg6_i[31:24];
-                        end
-						Spi6RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg6_i[15:8];
-						end
-                        Spi6RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg6_i[31:24];
-                        end
-						Spi6TxFifo : begin 
-							ansReg = Spi6TxFifoReg[15:8];
-						end
-						Spi6RxFifo : begin 
-							ansReg = Spi6RxFifoReg[15:8];
-						end
-						SpiTxRxEn : begin 
-							ansReg = SpiTxRxEnReg[15:8];
-						end
-						GPIOCtrlAddr : begin 
-							ansReg = GPIOAReg[15:8];
-						end
-                        GPIOCtrlAddrS : begin 
-                            ansReg = GPIOARegS[15:8];
-                        end
-						Debug0Addr : begin 
-							ansReg = LedReg[15:8];
-						end
-					endcase
-				end
-				2 : begin 
-					case (Addr_i)
-						Spi0CtrlAddr : begin 
-							ansReg = Spi0CtrlReg[7:0];
-						end
-						Spi0ClkAddr : begin 
-							ansReg = Spi0ClkReg[7:0];
-						end
-						Spi0CsDelayAddr : begin 
-							ansReg = Spi0CsDelayReg[7:0];
-						end
-						Spi0CsCtrlAddr : begin 
-							ansReg = Spi0CsCtrlReg[7:0];
-						end
-						Spi0TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg0_i[7:0];
-						end
-                        Spi0TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg0_i[23:16];
-                        end
-						Spi0RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg0_i[7:0];
-						end
-                        Spi0RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg0_i[23:16];
-                        end
-						Spi0TxFifo : begin 
-							ansReg = Spi0TxFifoReg[7:0];
-						end
-						Spi0RxFifo : begin 
-							ansReg = Spi0RxFifoReg[7:0];
-						end
-						Spi1CtrlAddr : begin 
-							ansReg = Spi1CtrlReg[7:0];
-						end
-						Spi1ClkAddr : begin 
-							ansReg = Spi1ClkReg[7:0];
-						end
-						Spi1CsDelayAddr : begin 
-							ansReg = Spi1CsDelayReg[7:0];
-						end
-						Spi1CsCtrlAddr : begin 
-							ansReg = Spi1CsCtrlReg[7:0];
-						end
-						Spi1TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg1_i[7:0];
-						end
-                        Spi1TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg1_i[23:16];
-                        end
-						Spi1RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg1_i[7:0];
-						end
-                        Spi1RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg1_i[23:16];
-                        end
-						Spi1TxFifo : begin 
-							ansReg = Spi1TxFifoReg[7:0];
-						end
-						Spi1RxFifo : begin 
-							ansReg = Spi1RxFifoReg[7:0];
-						end
-						Spi2CtrlAddr : begin 
-							ansReg = Spi2CtrlReg[7:0];
-						end
-						Spi2ClkAddr : begin 
-							ansReg = Spi2ClkReg[7:0];
-						end
-						Spi2CsDelayAddr : begin 
-							ansReg = Spi2CsDelayReg[7:0];
-						end
-						Spi2CsCtrlAddr : begin 
-							ansReg = Spi2CsCtrlReg[7:0];
-						end
-						Spi2TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg2_i[7:0];
-						end
-                        Spi2TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg2_i[23:16];
-                        end
-						Spi2RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg2_i[7:0];
-						end
-                        Spi2RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg2_i[23:16];
-                        end
-						Spi2TxFifo : begin 
-							ansReg = Spi2TxFifoReg[7:0];
-						end
-						Spi2RxFifo : begin 
-							ansReg = Spi2RxFifoReg[7:0];
-						end
-						Spi3CtrlAddr : begin 
-							ansReg = Spi3CtrlReg[7:0];
-						end
-						Spi3ClkAddr : begin 
-							ansReg = Spi3ClkReg[7:0];
-						end
-						Spi3CsDelayAddr : begin 
-							ansReg = Spi3CsDelayReg[7:0];
-						end
-						Spi3CsCtrlAddr : begin 
-							ansReg = Spi3CsCtrlReg[7:0];
-						end
-						Spi3TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg3_i[7:0];
-						end
-                        Spi3TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg3_i[23:16];
-                        end
-						Spi3RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg3_i[7:0];
-						end
-                        Spi3RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg3_i[23:16];
-                        end
-						Spi3TxFifo : begin 
-							ansReg = Spi3TxFifoReg[7:0];
-						end
-						Spi3RxFifo : begin 
-							ansReg = Spi3RxFifoReg[7:0];
-						end
-						Spi4CtrlAddr : begin 
-							ansReg = Spi4CtrlReg[7:0];
-						end
-						Spi4ClkAddr : begin 
-							ansReg = Spi4ClkReg[7:0];
-						end
-						Spi4CsDelayAddr : begin 
-							ansReg = Spi4CsDelayReg[7:0];
-						end
-						Spi4CsCtrlAddr : begin 
-							ansReg = Spi4CsCtrlReg[7:0];
-						end
-						Spi4TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg4_i[7:0];
-						end
-                        Spi4TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg4_i[23:16];
-                        end
-						Spi4RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg4_i[7:0];
-						end
-                        Spi4RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg4_i[23:16];
-                        end
-						Spi4TxFifo : begin 
-							ansReg = Spi4TxFifoReg[7:0];
-						end
-						Spi4RxFifo : begin 
-							ansReg = Spi4RxFifoReg[7:0];
-						end
-						Spi5CtrlAddr : begin 
-							ansReg = Spi5CtrlReg[7:0];
-						end
-						Spi5ClkAddr : begin 
-							ansReg = Spi5ClkReg[7:0];
-						end
-						Spi5CsDelayAddr : begin 
-							ansReg = Spi5CsDelayReg[7:0];
-						end
-						Spi5CsCtrlAddr : begin 
-							ansReg = Spi5CsCtrlReg[7:0];
-						end
-						Spi5TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg5_i[7:0];
-						end
-                        Spi5TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg5_i[23:16];
-                        end
-						Spi5RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg5_i[7:0];
-						end
-                        Spi5RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg5_i[23:16];
-                        end
-						Spi5TxFifo : begin 
-							ansReg = Spi5TxFifoReg[7:0];
-						end
-						Spi5RxFifo : begin 
-							ansReg = Spi5RxFifoReg[7:0];
-						end
-						Spi6CtrlAddr : begin 
-							ansReg = Spi6CtrlReg[7:0];
-						end
-						Spi6ClkAddr : begin 
-							ansReg = Spi6ClkReg[7:0];
-						end
-						Spi6CsDelayAddr : begin 
-							ansReg = Spi6CsDelayReg[7:0];
-						end
-						Spi6CsCtrlAddr : begin 
-							ansReg = Spi6CsCtrlReg[7:0];
-						end
-						Spi6TxFifoCtrlAddrLsb : begin 
-							ansReg = TxFifoCtrlReg6_i[7:0];
-						end
-                        Spi6TxFifoCtrlAddrMsb : begin 
-                            ansReg = TxFifoCtrlReg6_i[23:16];
-                        end
-						Spi6RxFifoCtrlAddrLsb : begin 
-							ansReg = RxFifoCtrlReg6_i[7:0];
-						end
-                        Spi6RxFifoCtrlAddrMsb : begin 
-                            ansReg = RxFifoCtrlReg6_i[23:16];
-                        end
-						Spi6TxFifo : begin 
-							ansReg = Spi6TxFifoReg[7:0];
-						end
-						Spi6RxFifo : begin 
-							ansReg = Spi6RxFifoReg[7:0];
-						end
-						SpiTxRxEn : begin 
-							ansReg = SpiTxRxEnReg[7:0];
-						end
-						GPIOCtrlAddr : begin 
-							ansReg = GPIOAReg[7:0];
-						end
-                        GPIOCtrlAddrS : begin 
-                            ansReg = GPIOARegS[7:0];
-                        end
-						Debug0Addr : begin 
-							ansReg = LedReg[7:0];
-						end
-                        default : begin
-                            ansReg = 0;
-                        end
-					endcase
-				end
-                default:begin 
-                    ansReg = 0;
-                end
-			endcase
+		case (Addr_i)
+			Spi0CtrlAddr : begin 
+				ansReg = Spi0CtrlReg;
+			end
+			Spi0ClkAddr : begin 
+				ansReg = Spi0ClkReg;
+			end
+			Spi0CsDelayAddr : begin 
+				ansReg = Spi0CsDelayReg;
+			end
+			Spi0CsCtrlAddr : begin 
+				ansReg = Spi0CsCtrlReg;
+			end
+			Spi0TxFifoCtrlAddrLsb : begin 
+				ansReg = TxFifoCtrlReg0_i[15:0];
+			end
+            Spi0TxFifoCtrlAddrMsb : begin 
+                ansReg = TxFifoCtrlReg0_i[31:16];
+            end
+			Spi0RxFifoCtrlAddrLsb : begin 
+				ansReg = RxFifoCtrlReg0_i[15:0];
+			end
+            Spi0RxFifoCtrlAddrMsb : begin 
+                ansReg = RxFifoCtrlReg0_i[31:16];
+            end
+			Spi0TxFifo : begin 
+				ansReg = Spi0TxFifoReg;
+			end
+			Spi0RxFifo : begin 
+				ansReg = Spi0RxFifoReg;
+			end
+			Spi1CtrlAddr : begin 
+				ansReg = Spi1CtrlReg;
+			end
+			Spi1ClkAddr : begin 
+				ansReg = Spi1ClkReg;
+			end
+			Spi1CsDelayAddr : begin 
+				ansReg = Spi1CsDelayReg;
+			end
+			Spi1CsCtrlAddr : begin 
+				ansReg = Spi1CsCtrlReg;
+			end
+			Spi1TxFifoCtrlAddrLsb : begin 
+				ansReg = TxFifoCtrlReg1_i[15:0];
+			end
+            Spi1TxFifoCtrlAddrMsb : begin 
+                ansReg = TxFifoCtrlReg1_i[31:16];
+            end
+			Spi1RxFifoCtrlAddrLsb : begin 
+				ansReg = RxFifoCtrlReg1_i[15:0];
+			end
+            Spi1RxFifoCtrlAddrMsb : begin 
+                ansReg = RxFifoCtrlReg1_i[31:16];
+            end
+			Spi1TxFifo : begin 
+				ansReg = Spi1TxFifoReg;
+			end
+			Spi1RxFifo : begin 
+				ansReg = Spi1RxFifoReg;
+			end
+			Spi2CtrlAddr : begin 
+				ansReg = Spi2CtrlReg;
+			end
+			Spi2ClkAddr : begin 
+				ansReg = Spi2ClkReg;
+			end
+			Spi2CsDelayAddr : begin 
+				ansReg = Spi2CsDelayReg;
+			end
+			Spi2CsCtrlAddr : begin 
+				ansReg = Spi2CsCtrlReg;
+			end
+			Spi2TxFifoCtrlAddrLsb : begin 
+				ansReg = TxFifoCtrlReg2_i[15:0];
+			end
+            Spi2TxFifoCtrlAddrMsb : begin 
+                ansReg = TxFifoCtrlReg2_i[31:16];
+            end
+			Spi2RxFifoCtrlAddrLsb : begin 
+				ansReg = RxFifoCtrlReg2_i[15:0];
+			end
+            Spi2RxFifoCtrlAddrMsb : begin 
+                ansReg = RxFifoCtrlReg2_i[31:16];
+            end
+			Spi2TxFifo : begin 
+				ansReg = Spi2TxFifoReg;
+			end
+			Spi2RxFifo : begin 
+				ansReg = Spi2RxFifoReg;
+			end
+			Spi3CtrlAddr : begin 
+				ansReg = Spi3CtrlReg;
+			end
+			Spi3ClkAddr : begin 
+				ansReg = Spi3ClkReg;
+			end
+			Spi3CsDelayAddr : begin 
+				ansReg = Spi3CsDelayReg;
+			end
+			Spi3CsCtrlAddr : begin 
+				ansReg = Spi3CsCtrlReg;
+			end
+			Spi3TxFifoCtrlAddrLsb : begin 
+				ansReg = TxFifoCtrlReg3_i[15:0];
+			end
+            Spi3TxFifoCtrlAddrMsb : begin 
+                ansReg = TxFifoCtrlReg3_i[31:16];
+            end
+			Spi3RxFifoCtrlAddrLsb : begin 
+				ansReg = RxFifoCtrlReg3_i[15:0];
+			end
+            Spi3RxFifoCtrlAddrMsb : begin 
+                ansReg = RxFifoCtrlReg3_i[31:16];
+            end
+			Spi3TxFifo : begin 
+				ansReg = Spi3TxFifoReg;
+			end
+			Spi3RxFifo : begin 
+				ansReg = Spi3RxFifoReg;
+			end
+			Spi4CtrlAddr : begin 
+				ansReg = Spi4CtrlReg;
+			end
+			Spi4ClkAddr : begin 
+				ansReg = Spi4ClkReg;
+			end
+			Spi4CsDelayAddr : begin 
+				ansReg = Spi4CsDelayReg;
+			end
+			Spi4CsCtrlAddr : begin 
+				ansReg = Spi4CsCtrlReg;
+			end
+			Spi4TxFifoCtrlAddrLsb : begin 
+				ansReg = TxFifoCtrlReg4_i[15:0];
+			end
+            Spi4TxFifoCtrlAddrMsb : begin 
+                ansReg = TxFifoCtrlReg4_i[31:16];
+            end
+			Spi4RxFifoCtrlAddrLsb : begin 
+				ansReg = RxFifoCtrlReg4_i[15:0];
+			end
+            Spi4RxFifoCtrlAddrMsb : begin 
+                ansReg = RxFifoCtrlReg4_i[31:16];
+            end
+			Spi4TxFifo : begin 
+				ansReg = Spi4TxFifoReg;
+			end
+			Spi4RxFifo : begin 
+				ansReg = Spi4RxFifoReg;
+			end
+			Spi5CtrlAddr : begin 
+				ansReg = Spi5CtrlReg;
+			end
+			Spi5ClkAddr : begin 
+				ansReg = Spi5ClkReg;
+			end
+			Spi5CsDelayAddr : begin 
+				ansReg = Spi5CsDelayReg;
+			end
+			Spi5CsCtrlAddr : begin 
+				ansReg = Spi5CsCtrlReg;
+			end
+			Spi5TxFifoCtrlAddrLsb : begin 
+				ansReg = TxFifoCtrlReg5_i[15:0];
+			end
+            Spi5TxFifoCtrlAddrMsb : begin 
+                ansReg = TxFifoCtrlReg5_i[31:16];
+            end
+			Spi5RxFifoCtrlAddrLsb : begin 
+				ansReg = RxFifoCtrlReg5_i[15:0];
+			end
+            Spi5RxFifoCtrlAddrMsb : begin 
+                ansReg = RxFifoCtrlReg5_i[31:16];
+            end
+			Spi5TxFifo : begin 
+				ansReg = Spi5TxFifoReg;
+			end
+			Spi5RxFifo : begin 
+				ansReg = Spi5RxFifoReg;
+			end
+			Spi6CtrlAddr : begin 
+				ansReg = Spi6CtrlReg;
+			end
+			Spi6ClkAddr : begin 
+				ansReg = Spi6ClkReg;
+			end
+			Spi6CsDelayAddr : begin 
+				ansReg = Spi6CsDelayReg;
+			end
+			Spi6CsCtrlAddr : begin 
+				ansReg = Spi6CsCtrlReg;
+			end
+			Spi6TxFifoCtrlAddrLsb : begin 
+				ansReg = TxFifoCtrlReg6_i[15:0];
+			end
+            Spi6TxFifoCtrlAddrMsb : begin 
+                ansReg = TxFifoCtrlReg6_i[31:16];
+            end
+			Spi6RxFifoCtrlAddrLsb : begin 
+				ansReg = RxFifoCtrlReg6_i[15:0];
+			end
+            Spi6RxFifoCtrlAddrMsb : begin 
+                ansReg = RxFifoCtrlReg6_i[31:16];
+            end
+			Spi6TxFifo : begin 
+				ansReg = Spi6TxFifoReg;
+			end
+			Spi6RxFifo : begin 
+				ansReg = Spi6RxFifoReg;
+			end
+			SpiTxRxEn : begin 
+				ansReg = SpiTxRxEnReg;
+			end
+			GPIOCtrlAddr : begin 
+				ansReg = GPIOAReg;
+			end
+            GPIOCtrlAddrS : begin 
+                ansReg = GPIOARegS;
+            end
+			Debug0Addr : begin 
+				ansReg = LedReg;
+			end
+            default : begin 
+                ansReg = 0;
+            end
+        endcase
     end
 end
 

+ 16 - 2
sources_1/new/SpiR/SPIm.v

@@ -17,7 +17,7 @@ module SPIm (
     output reg Mosi0_o,
     output reg Sck_o,
     output  Ss_o,
-    output  Val_o
+    output reg  Val_o
 );
 
 
@@ -55,11 +55,25 @@ assign Ss_o = SsPol;
 
 
 
-assign Val_o = (trCnt < 1 ) ?!lineBusy:valReg;
+// assign Val_o = (trCnt < 1 ) ?!lineBusy:valReg;
 //================================================================================
 //	CODING
 //================================================================================
 
+always @(*) begin 
+    if (Start_i) begin 
+        // if (trCnt < 1) begin 
+        //     Val_o = !lineBusy;
+        // end
+        // else begin 
+            Val_o = valReg;
+    end
+    else begin 
+        Val_o = 1'b0;
+    end
+end
+
+
 always @(*) begin 
     if (SELST_i) begin 
         if (!Ss_o) begin