64
6.6
Integration of hardware and software
The hardware implementation of systems for solving ODE equations by this DDA method is
one issue. Another issue is to ensure the communication of this module or system with the
physical world for setting parameters, coefficients, and initial conditions.
For making a
System-on-chip (SoC) we need a central processor, a standard bus,
and IO cores that are
integrated together. The IBM Processor Local Bus (PLB) is a technology that can support
and manage all of these facilities. PLBs are supported slave and master for controlling the
IP (Intellectual Property) on the bus. There is a possibility to passing the parameters and
values either through simple registers in PLB or by a first in first out method (FIFO) in PLB.
In Xilinx Virtex-4 family we can design a system based on PLB and custom IPs. In this case,
we integrated a PowerPC 405 (PPC) and Verilog modules as a custom IP by a 32bit PLB.
PPC is a hardcore 32bit processor that can provide good performance as a central
processor for controlling the custom IP and other peripherals. Through this bus also we
are able to send interrupt signals, so that Verilog modules can send a signal to PPC 405 as
an interrupt for doing some process on the output data. When the output of the module is
valid, it sends an interrupt signal through PLB to PPC 405. PLB and everything that is
connected to this bus is synchronous due to a common clock.
By using System ACE
(Advanced Configuration Environment) CF (Compact Flash cards) technology we can
record results data in files. Then transferring or sending these data files to a computer (PC)
through either the normal or high speed serial link is then feasible. On the PC the results
will be visualized, saved or used for other purposes. In some
Xilinx family there is a
possibility of using a softcore CPU like MicroBlaze, instead of a hardware-core (PPC405). It
is obvious that for using software-core CPU like MicroBlaze we need more logic slice
resources. Therefore, for saving logic slice resources in software integration, we applied a
hardware-core CPU (PPC 405).