IOP16 Front Panel interface

From Land Boards Wiki
Jump to navigation Jump to search

Front Panel

This is a standalone application of the Land Boards Front Panel card that uses the IOP16B CPU.

EightBitFrontPanel720px.JPG

VHDL Code

  • Reads 32 pushbuttons
    • i_FPLEDs, Out to LEDs (32)
    • o_PBRaw, Raw version of the Pushbuttons (32)
    • o_PBLatched, Latched version of the Pushbuttons (32)
    • o_PBToggled, Toggle version of the Pushbuttons (32)
  • Writes 32 LEDs

VHDL Entity

-- -------------------------------------------------------------------------------------------------------
-- Front Panel starts here
	
fp01 : work.FrontPanel01
  port map
  (
    -- Clock and reset
    i_CLOCK_50		=> i_CLOCK_50,		-- Clock (50 MHz)
    i_n_reset		=> w_resetClean_n,	-- Reset
    -- 32 outs, 32 ins
    i_FPLEDs		=> w_LEDsOut,		-- Out to LEDs (32)
    o_PBRaw		=> w_PBsRaw,		-- Raw version of the Pushbuttons (32)
    o_PBLatched		=> w_PBLatched,		-- Latched version of the Pushbuttons (32)
    o_PBToggled		=> w_PBsToggled,	-- Toggle version of the Pushbuttons (32)
    -- I2C interface
    io_I2C_SCL		=> io_I2C_SCL,		-- I2C clock to Front Panel card
    io_I2C_SDA		=> io_I2C_SDA,		-- I2C data to/from Front Panel card
    i_I2C_INTn		=> i_I2C_INTn		-- Interrupt input - active low
  );

-- Front Panel ends here
-- -------------------------------------------------------------------------------------------------------

I/O Processor - Memory Map

  • Address, R/W, Descr
  • x00, R, Pushbuttons(31..24)
  • x01, R, Pushbuttons(23..16)
  • x02, R, Pushbuttons(15..8)
  • x03, R, Pushbuttons(7..0)
  • x04-x5, R, I2C I/F
  • x04 - I2C Read Data
  • x05 - I2C Status
  • 0x06. R, I2C Interript
  • x00, W, LEDs(31..24)
  • x01, W, LEDs(23..16)
  • x02, W, LEDs(15..8)
  • x03, W, LEDs(7..0)
  • x04-x5, W, I2C I/F
  • x04 - I2C Write Data
  • x05 - I2C Command