Академический Документы
Профессиональный Документы
Культура Документы
Leon Processor
Talal Khaliq
MSEE (DSSP)-7
APB Integration:
APB Integration of Multiplier is inspired from OpenCores’ Theora Hardware APB Integration.
[2]
The APB is part of the AMBA hierarchy of buses and is optimized for minimal power
consumption and reduced interface complexity. The AMBA APB appears as a local secondary
bus that is encapsulated as a single AHB slave device. APB provides a low-power extension to
the system bus which builds on AHB signals directly.
Figure 11:dir.txt
In ‘mult’ folder, we include its basic core files, APB interface and package. They are then
synthesized accordingly in ‘vhdlsyn.txt’. ‘mult.vhd’ includes the package for interface
‘mult_amba_interface’:
PWDATA
Register PRDATA
(31:0) Register (31:0)
32 64 32
(31:0) Multiplier Product
PINDEX WE 32
Multiplicand Done
Start
Multiplier
PENABLE
PADDR Start
(5:2)
Clk
PCLK
PRESET
Software Integration:
Addressing protocol for communication between APB Interface and Software is a bit tricky
process. We know base pointer for Multiplier Peripheral is 0x80000800. [2] Taking in view
PADDR in Interface module, we define variables as:
0x80000800 *Done
0x80000808 *Product
0x80000804 *Multiplier
0x80000808 *Multiplicand
0x8000080C *Product1
0x80000810 *Product2
GUI Control:
Each design has a simple graphical configuration interface that can be started by issuing ‘make
xconfig’ in the template design directory. The tool presents the user with configuration
options and generates the file ‘config.vhd’ that contains configuration constants used in the
design. [6]
Each core has a set of files that are used to generate the core’s xconfig menu entries. The
xconfig files are typically located in the same directory as the Multiplier HDL files.
[1] J. a. L. K. J. Charles H. Roth, Digital Systems Design using VHDL, Austin, TX: Thomson Learning,
2008.