AN1154 STMicroelectronics, AN1154 Datasheet - Page 74

no-image

AN1154

Manufacturer Part Number
AN1154
Description
8031-PSD DESIGN TUTORIAL
Manufacturer
STMicroelectronics
Datasheet
AN1154 - APPLICATION NOTE
-- Memory Section
-- Chip Selects and Output Enables
74/83
page_reg[].clk = Clock;
page_reg[].clrn = Reset~;
page_reg[].ena = !WR~ & (addr[] == PAGE_REG_ADDR);
vm_reg[] = A/D[];
vm_reg[].clk = Clock;
vm_reg[].clrn = Reset~;
vm_reg[].ena = !WR~ & (addr[] == VM_REG_ADDR);
measured[] = ADC_Out[];
desired[] = desired_reg[];
PGA_Din[] = gain_reg[];
Control[] = cntrl_port_reg[];
swap = page_reg7;
enable_data_half = page_reg6;
fs0 = ((addr[] >= H"8000") & (addr[] <= H"BFFF") & (page_reg[] == 3) & !swap)
fs1 = (addr[] >= H"4000") & (addr[] <= H"7FFF");
fs2 = (addr[] >= H"8000") & (addr[] <= H"BFFF") & (page_reg[] == 0);
fs3 = (addr[] >= H"C000") & (addr[] <= H"FFFF") & (page_reg[] == 0);
fs4 = (addr[] >= H"8000") & (addr[] <= H"BFFF") & (page_reg[] == 1);
fs5 = (addr[] >= H"C000") & (addr[] <= H"FFFF") & (page_reg[] == 1);
fs6 = (addr[] >= H"8000") & (addr[] <= H"BFFF") & (page_reg[] == 2);
fs7 = (addr[] >= H"C000") & (addr[] <= H"FFFF") & (page_reg[] == 2);
ees0 = ((addr[] >= H"0000") & (addr[] <= H"1FFF") & !swap)
ees1 = ((addr[] >= H"2000") & (addr[] <= H"3FFF") & !swap)
ees2 = (addr[] >= H"C000") & (addr[] <= H"DFFF") & swap & enable_data_half;
ees3 = (addr[] >= H"E000") & (addr[] <= H"FFFF") & swap & enable_data_half;
-- FLASH upper 3 and EEPROM upper 2 address bit encoding
FLASH_A16 = fs7 # fs6 # fs5 # fs4;
FLASH_A15 = fs7 # fs6 # fs3 # fs2;
FLASH_A14 = fs7 # fs5 # fs3 # fs1;
EEPROM_A14 = ees3 # ees2;
EEPROM_A13 = ees3 # ees1;
# ((addr[] >= H"0000") & (addr[] <= H"3FFF") & swap);
# ((addr[] >= H"8000") & (addr[] <= H"9FFF") & swap & !enable_data_half);
# ((addr[] >= H"A000") & (addr[] <= H"BFFF") & swap & !enable_data_half);

Related parts for AN1154