Design and Implementation of DMA Transfers in
WISHBONE interface
Lei Lei
∗
, Jun Wu
∗
, Tong Sun
∗
, Songlin Cheng
∗
and Xin Chen
∗
∗
College of Electronic and Information Engineering
Tongji University
Shanghai, China
Email:{1333791, wujun, tongsunx, 1210503, 1410452}@tongji.edu.cn
Abstract—The Digital Signal Processor (DSP) is a specialized
microprocessor, with its architecture optimized for the oper-
ational needs of digital signal processing.It often uses special
memory architectures that are able to fetch multiple data and/or
instructions at the same time.With applying to WISHBONE bus
interface it is much easier to connect the cores, and therefore
much easier to create a custom System on Chip (SOC) such as
the DSP.In order to increase the data transaction from DSP core
to WISHBONE Slave module, this paper proposes a special Direct
Memory Access (DMA) which supports a three-ports interface
of data transaction. This DMA also offers burst mode and the
address list mode of data transaction which can speed the data
transmission and make it more flexible. In the process of the
design and implement, a synchronization of asynchronous clock
issue needs to be solved. The final implementations have been
done in ASIC. The functionality of the design is synthesized using
Design Compiler and placement and routing by IC compiler.
keywords—DSP, WISHBONE, DMA, synchronization of asyn-
chronous clock, ASIC
I. INTRODUCTION
A digital signal processor (DSP) is a specialized micro-
processor, with its architecture optimized for the operational
needs of digital signal processing [1]. Most general-purpose
microprocessors can also execute digital signal processing
algorithms successfully, but dedicated DSP usually has better
power efficiency. Thus they are more suitable in portable
devices. DSP often uses special memory architectures that are
able to fetch multiple data and/or instructions at the same time
[2].
The WISHBONE SOC Interconnection is a method for
connecting IP core together to form Integrated circuits [3].
Open core SOC design methodology utilizes WISHBONE bus
interface to foster design reuse by alleviating SOC integration
problems [4]. With using of this standardized bus interface it
is much easier to connect the cores, and therefore much easier
to create a custom SOC such as the DSP.
In order to increase the data transaction from DSP core to
WISHBONE Slave module, this paper proposes a special D-
MA which supports a three-ports interface of data transaction.
This DMA also offers burst mode and the address list mode
of data transaction which can speed the data transmission and
make it more flexible.
In the process of the design and implement, a synchroniza-
tion of asynchronous clock issue needs to be solved. This
issue comes from the signal transaction between the fast clock
domain of DMA and the slow clock domain of WISHBONE
interface. To solve the problem , a synchronization clock
interface should be designed. It can also apply to other
synchronization of asynchronous clock situation.
The reminder of this paper is organized as follows: Section
II discusses the feature of the DSP. Proposed the WISHBONE
system architectures are presented in Section III. Section IV
discusses the architectures and the transfer controller of DMA.
Section V tells how to design a cross clock domain interface.
Section VI presents the delay and area results of the DMA
implementations. Finally, Section VII concludes the paper.
II. SPECIFICATION OF THE DSP
This section introduces the element to design a common
DSP and presents the specification of the VLIW DSP. To
design a DSP SOC that needs many aspect work to do such
as instruction set design, pipeline design, bus and external
peripherals design and so on [4].
A. Instruction set
Instruction system comes from system architecture and
perfectly presents the structure of the system. Instruction set
is an interface between the hardware and the software of
system. It generally contains dozens to several hundreds of
instructions, and each of them corresponds to an execution
unit. Instruction set design is very important that it dominates
the function of a DSP.
The instruction set of the DSP refers to the instruction
system of Mips, and extends it by some 128bit vector instruc-
tions such as Load/Store instruction, Add instruction, Multiply
instruction, Shift instruction and so on.
B. Pipeline
The pipeline of Mips contains five stages, which is Harvard
structure that divides the data and the instruction [5]. Its
work procedure consists of five phases: Introduction Fetch(IF),
Introduction Decode(ID), Execution(EX), Memory(MEM),and
Write Back(WB). The stages are generally working at the same
time to make two or more sequences of instructions execution
efficient.
The pipeline of the DSP is Harvard structure, too. It contains
nine stages to get high parallelism, just like the Fig.1.
2015 10th International Conference on Communications and Networking in China (ChinaCom)
978-1-63190-077-8 © 2015 IEEE612