forked from Firebee/FPGA_Config
cleanup
This commit is contained in:
@@ -129,6 +129,7 @@ VARIABLE
|
|||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
LINE = FB_SIZE0 & FB_SIZE1;
|
LINE = FB_SIZE0 & FB_SIZE1;
|
||||||
|
|
||||||
-- BYT SELECT
|
-- BYT SELECT
|
||||||
FB_B0 = FB_ADR[1..0]==0 -- ADR==0
|
FB_B0 = FB_ADR[1..0]==0 -- ADR==0
|
||||||
# FB_SIZE1 & FB_SIZE0 # !FB_SIZE1 & !FB_SIZE0; -- LONG UND LINE
|
# FB_SIZE1 & FB_SIZE0 # !FB_SIZE1 & !FB_SIZE0; -- LONG UND LINE
|
||||||
@@ -140,6 +141,7 @@ BEGIN
|
|||||||
FB_B3 = FB_ADR[1..0]==3 -- ADR==3
|
FB_B3 = FB_ADR[1..0]==3 -- ADR==3
|
||||||
# FB_SIZE1 & !FB_SIZE0 & FB_ADR1 -- LOW WORD
|
# FB_SIZE1 & !FB_SIZE0 & FB_ADR1 -- LOW WORD
|
||||||
# FB_SIZE1 & FB_SIZE0 # !FB_SIZE1 & !FB_SIZE0; -- LONG UND LINE
|
# FB_SIZE1 & FB_SIZE0 # !FB_SIZE1 & !FB_SIZE0; -- LONG UND LINE
|
||||||
|
|
||||||
-- CPU READ (REG DDR => CPU) AND WRITE (CPU => REG DDR) --------------------------------------------------
|
-- CPU READ (REG DDR => CPU) AND WRITE (CPU => REG DDR) --------------------------------------------------
|
||||||
FB_REGDDR.CLK = MAIN_CLK;
|
FB_REGDDR.CLK = MAIN_CLK;
|
||||||
CASE FB_REGDDR IS
|
CASE FB_REGDDR IS
|
||||||
@@ -198,6 +200,7 @@ BEGIN
|
|||||||
FB_REGDDR = FR_WAIT;
|
FB_REGDDR = FR_WAIT;
|
||||||
END IF;
|
END IF;
|
||||||
END CASE;
|
END CASE;
|
||||||
|
|
||||||
-- DDR STEUERUNG -----------------------------------------------------
|
-- DDR STEUERUNG -----------------------------------------------------
|
||||||
-- VIDEO RAM CONTROL REGISTER (IST IN VIDEO_MUX_CTR) $F0000400: BIT 0: VCKE; 1: !nVCS ;2:REFRESH ON , (0=FIFO UND CNT CLEAR); 3: CONFIG; 8: FIFO_ACTIVE;
|
-- VIDEO RAM CONTROL REGISTER (IST IN VIDEO_MUX_CTR) $F0000400: BIT 0: VCKE; 1: !nVCS ;2:REFRESH ON , (0=FIFO UND CNT CLEAR); 3: CONFIG; 8: FIFO_ACTIVE;
|
||||||
VCKE = VIDEO_RAM_CTR0;
|
VCKE = VIDEO_RAM_CTR0;
|
||||||
@@ -220,11 +223,13 @@ BEGIN
|
|||||||
FIFO_AC.CLK = DDRCLK0;
|
FIFO_AC.CLK = DDRCLK0;
|
||||||
BLITTER_AC.CLK = DDRCLK0;
|
BLITTER_AC.CLK = DDRCLK0;
|
||||||
DDRWR_D_SEL1 = BLITTER_AC;
|
DDRWR_D_SEL1 = BLITTER_AC;
|
||||||
|
|
||||||
-- SELECT LOGIC
|
-- SELECT LOGIC
|
||||||
DDR_SEL = FB_ALE & FB_AD[31..30]==B"01";
|
DDR_SEL = FB_ALE & FB_AD[31..30]==B"01";
|
||||||
DDR_CS.CLK = MAIN_CLK;
|
DDR_CS.CLK = MAIN_CLK;
|
||||||
DDR_CS.ENA = FB_ALE;
|
DDR_CS.ENA = FB_ALE;
|
||||||
DDR_CS = DDR_SEL;
|
DDR_CS = DDR_SEL;
|
||||||
|
|
||||||
-- WENN READ ODER WRITE B,W,L DDR SOFORT ANFORDERN, BEI WRITE LINE SP<53>TER
|
-- WENN READ ODER WRITE B,W,L DDR SOFORT ANFORDERN, BEI WRITE LINE SP<53>TER
|
||||||
CPU_SIG = DDR_SEL & (nFB_WR # !LINE) & !DDR_CONFIG -- NICHT LINE ODER READ SOFORT LOS WENN NICHT CONFIG
|
CPU_SIG = DDR_SEL & (nFB_WR # !LINE) & !DDR_CONFIG -- NICHT LINE ODER READ SOFORT LOS WENN NICHT CONFIG
|
||||||
# DDR_SEL & DDR_CONFIG -- CONFIG SOFORT LOS
|
# DDR_SEL & DDR_CONFIG -- CONFIG SOFORT LOS
|
||||||
@@ -241,6 +246,7 @@ BEGIN
|
|||||||
MCS1 = MCS0;
|
MCS1 = MCS0;
|
||||||
CPU_DDR_SYNC.CLK = DDRCLK0;
|
CPU_DDR_SYNC.CLK = DDRCLK0;
|
||||||
CPU_DDR_SYNC = MCS[]==2 & VCKE & !nVCS; -- NUR 1 WENN EIN
|
CPU_DDR_SYNC = MCS[]==2 & VCKE & !nVCS; -- NUR 1 WENN EIN
|
||||||
|
|
||||||
---------------------------------------------------
|
---------------------------------------------------
|
||||||
VA_S[].CLK = DDRCLK0;
|
VA_S[].CLK = DDRCLK0;
|
||||||
BA_S[].CLK = DDRCLK0;
|
BA_S[].CLK = DDRCLK0;
|
||||||
@@ -248,6 +254,7 @@ BEGIN
|
|||||||
BA[] = BA_S[];
|
BA[] = BA_S[];
|
||||||
VA_P[].CLK = DDRCLK0;
|
VA_P[].CLK = DDRCLK0;
|
||||||
BA_P[].CLK = DDRCLK0;
|
BA_P[].CLK = DDRCLK0;
|
||||||
|
|
||||||
-- DDR STATE MACHINE -----------------------------------------------
|
-- DDR STATE MACHINE -----------------------------------------------
|
||||||
DDR_SM.CLK = DDRCLK0;
|
DDR_SM.CLK = DDRCLK0;
|
||||||
CASE DDR_SM IS
|
CASE DDR_SM IS
|
||||||
@@ -337,6 +344,7 @@ BEGIN
|
|||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
-- READ
|
-- READ
|
||||||
WHEN DS_T4R =>
|
WHEN DS_T4R =>
|
||||||
CPU_AC = CPU_AC;
|
CPU_AC = CPU_AC;
|
||||||
@@ -358,6 +366,7 @@ BEGIN
|
|||||||
VA_S[10] = VCC; -- ALLE PAGES SCHLIESSEN
|
VA_S[10] = VCC; -- ALLE PAGES SCHLIESSEN
|
||||||
DDR_SM = DS_CB6;
|
DDR_SM = DS_CB6;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
-- WRITE
|
-- WRITE
|
||||||
WHEN DS_T4W =>
|
WHEN DS_T4W =>
|
||||||
CPU_AC = CPU_AC;
|
CPU_AC = CPU_AC;
|
||||||
@@ -408,6 +417,7 @@ BEGIN
|
|||||||
VA_S[10] = VCC; -- ALLE PAGES SCHLIESSEN
|
VA_S[10] = VCC; -- ALLE PAGES SCHLIESSEN
|
||||||
DDR_SM = DS_CB6;
|
DDR_SM = DS_CB6;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
-- FIFO READ
|
-- FIFO READ
|
||||||
WHEN DS_T4F =>
|
WHEN DS_T4F =>
|
||||||
VCAS = VCC;
|
VCAS = VCC;
|
||||||
@@ -498,6 +508,7 @@ BEGIN
|
|||||||
DDR_SM = DS_T7F;
|
DDR_SM = DS_T7F;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
|
||||||
-- CONFIG CYCLUS
|
-- CONFIG CYCLUS
|
||||||
WHEN DS_C2 =>
|
WHEN DS_C2 =>
|
||||||
DDR_SM = DS_C3;
|
DDR_SM = DS_C3;
|
||||||
@@ -521,6 +532,7 @@ BEGIN
|
|||||||
VCAS = FB_AD17 & !nFB_WR & !FB_SIZE0 & !FB_SIZE1; -- NUR BEI LONG WRITE
|
VCAS = FB_AD17 & !nFB_WR & !FB_SIZE0 & !FB_SIZE1; -- NUR BEI LONG WRITE
|
||||||
VWE = FB_AD16 & !nFB_WR & !FB_SIZE0 & !FB_SIZE1; -- NUR BEI LONG WRITE
|
VWE = FB_AD16 & !nFB_WR & !FB_SIZE0 & !FB_SIZE1; -- NUR BEI LONG WRITE
|
||||||
DDR_SM = DS_N8;
|
DDR_SM = DS_N8;
|
||||||
|
|
||||||
-- CLOSE FIFO BANK
|
-- CLOSE FIFO BANK
|
||||||
WHEN DS_CB6 =>
|
WHEN DS_CB6 =>
|
||||||
FIFO_BANK_NOT_OK = VCC; -- AUF NOT OK
|
FIFO_BANK_NOT_OK = VCC; -- AUF NOT OK
|
||||||
@@ -532,6 +544,7 @@ BEGIN
|
|||||||
VRAS = VCC; -- B<>NKE SCHLIESSEN
|
VRAS = VCC; -- B<>NKE SCHLIESSEN
|
||||||
VWE = VCC;
|
VWE = VCC;
|
||||||
DDR_SM = DS_T1;
|
DDR_SM = DS_T1;
|
||||||
|
|
||||||
-- REFRESH 70NS = 10 ZYCLEN
|
-- REFRESH 70NS = 10 ZYCLEN
|
||||||
WHEN DS_R2 =>
|
WHEN DS_R2 =>
|
||||||
IF DDR_REFRESH_SIG[]==9 THEN -- EIN CYCLUS VORLAUF UM BANKS ZU SCHLIESSEN
|
IF DDR_REFRESH_SIG[]==9 THEN -- EIN CYCLUS VORLAUF UM BANKS ZU SCHLIESSEN
|
||||||
@@ -553,6 +566,7 @@ BEGIN
|
|||||||
DDR_SM = DS_R6;
|
DDR_SM = DS_R6;
|
||||||
WHEN DS_R6 =>
|
WHEN DS_R6 =>
|
||||||
DDR_SM = DS_N5;
|
DDR_SM = DS_N5;
|
||||||
|
|
||||||
-- LEERSCHLAUFE
|
-- LEERSCHLAUFE
|
||||||
WHEN DS_N5 =>
|
WHEN DS_N5 =>
|
||||||
DDR_SM = DS_N6;
|
DDR_SM = DS_N6;
|
||||||
|
|||||||
Reference in New Issue
Block a user