Difference between revisions of "IOP16 Constants Unit"

From Land Boards Wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
== Constants ROM with Address Counter ==
 
== Constants ROM with Address Counter ==
  
A constants ROM can be used to store strings. This is useful for printing strings.
+
A constants ROM used to store strings. This is useful for printing strings.
  
 
* Constants ROM
 
* Constants ROM

Revision as of 22:24, 14 April 2022

Constants ROM with Address Counter

A constants ROM used to store strings. This is useful for printing strings.

  • Constants ROM
    • 256-byte (max)
    • Null terminated strings
    • ROM "assembler"
  • Address Counter
    • Loadable with start address
    • Auto-increment address

Programming

  • Load start address (W)
  • Read Data

Hook-up

  • Add to Top Level VHDL code

Pins

  • None - all internal

Signals

-- Decodes/Strobes
...
  signal w_ldConAdr				:	std_logic;
  signal w_rdConAdr				:	std_logic;
...
-- Interfaces
...
signal w_ConstsData			:	std_logic_vector(7 downto 0);

VHDL Instance

-- Constants Unit
CONST_UNIT : entity work.ConstantsUnit
port map (	
  i_clock     => i_clk,
  i_dataIn    => w_periphOut,
  i_ldStr     => w_ldConAdr,
  i_rdStr     => w_rdConAdr,
  o_constData => w_ConstsData
);

Hook-up Strobes/Read Mux

  • Add to strobes and read mux

Constants Compiler

Creates two output files

    • Cross reference list of LABEL, address
    • .MIF file with ROM contents
      • Load ROM file by double-clickjng ConstantsROM_256B below ConstantsUnit
  • Input file is CSV
    • Header line - ['LABEL','STRING']

Resources

  • Logic Cells: 74
  • Registers: 46
  • Memory Bits: 2048
  • M9Ks: 1