OpenCores
URL https://opencores.org/ocsvn/mult_booth_array/mult_booth_array/trunk

Subversion Repositories mult_booth_array

[/] [mult_booth_array/] [trunk/] [doc/] [booth_array_multiplier.tex] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 plutonium
\documentclass[a4paper,BCOR7mm,12pt,pointlessnumbers,bibtotoc]{scrartcl}
2
 
3
\usepackage{amsmath,epsfig}
4
\usepackage{amssymb,amsfonts}
5
\usepackage{color}
6
\usepackage{array,booktabs}
7
\usepackage{graphicx}
8
\usepackage{caption}
9
\usepackage[hypcap=true,labelformat=simple]{subcaption}
10
\renewcommand{\thesubfigure}{(\alph{subfigure})}
11
\usepackage{tikz}
12
\usetikzlibrary{arrows,automata}
13
\usepackage{listings}
14
\usepackage{hyperref}
15
\usepackage{enumitem}
16
 
17
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} % centering column type with fixed width
18
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}} % right aligned column type with fixed width
19
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}} % left aligned column type with fixed width
20
 
21
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil} %\left\lceil #1 \right\rceil
22
 
23
\begin{document}
24
%\maketitle
25
\begin{center}
26
\Large Efficient Booth Array Multiplier for Xilinx FPGAs\\[0.4cm]
27
\large Martin Kumm \\[0.5cm]
28
\large \today \\[0.5cm]
29
\end{center}
30
 
31
\section{Introduction}
32
 
33
This IP core provides a resource efficient implementation of a Booth Array Multiplier for Xilinx FPGAs. For details about the architecture see \cite{kaz15}.
34
 
35
\section{Interface}
36
 
37
The top level entity is found in \verb|mult_booth_array.vhd|. The generics as well as the portare described in Table~\ref{tab:generics} and Table~\ref{tab:port}, respectively.
38
 
39
\begin{table}[!h]
40
        \renewcommand{\arraystretch}{1.1}
41
        \caption{Description of the generics}
42
        \label{tab:generics}
43
        \centering
44
        \begin{tabular}{lccL{7cm}}
45
          \toprule
46
          Generic & Type & Default & Description\\
47
    \cmidrule(rl){1-1} \cmidrule(rl){2-2} \cmidrule(rl){3-3} \cmidrule(rl){4-4}
48
    \verb|word_size_a|    & integer & 8     & Input word size operand $A$\\
49
    \verb|word_size_b|    & integer & 8     & Input word size operand $B$\\
50
    \verb|sync_in_out|    & boolean & false & If true, registers are placed at inputs and outputs (for timing results)\\
51
    \verb|use_pipelining| & boolean & true  & If true, the multiplier is internally pipelined (highly recommented)\\
52
    \bottomrule
53
   \end{tabular}
54
\end{table}
55
 
56
\begin{table}[!h]
57
        \renewcommand{\arraystretch}{1.1}
58
        \caption{Description of the port}
59
        \label{tab:port}
60
        \centering
61
        \begin{tabular}{lcccL{5cm}}
62
          \toprule
63
          Generic & Direction & Type & Word Size & Description\\
64
    \cmidrule(rl){1-1} \cmidrule(rl){2-2} \cmidrule(rl){3-3} \cmidrule(rl){4-4} \cmidrule(rl){5-5}
65
    \verb|clk_i| & in  & \verb|sl|        & 1                    & Clock input (used when \verb|use_pipelining=true| or \verb|sync_in_out=true|)\\
66
    \verb|rst_i| & in  & \verb|sl|        & 1                    & Reset input (used when \verb|use_pipelining=true| or \verb|sync_in_out=true|)\\
67
    \verb|ce_i|  & in  & \verb|sl|        & 1                    & Clock enable input (used when \verb|use_pipelining=true| or \verb|sync_in_out=true|)\\
68
    \verb|a_i|   & in  & \verb|slv| & \verb|input_word_size|     & Input operand $A$\\
69
    \verb|b_i|   & in  & \verb|slv| & \verb|input_word_size|     & Input operand $B$\\
70
    \verb|p_o|   & out & \verb|slv| & \verb|input_word_size + 2| & Product output $P=A \times B$\\
71
    \bottomrule
72
   \end{tabular}
73
\end{table}
74
 
75
 
76
\section{Simulation \& Test}
77
 
78
For simulation and test, the testbench (\verb|tb_mult_booth_array.vhd|) was created which uses a random number generator together with assert statements to verify the designs (against a naive VHDL multiplication).
79
 
80
\bibliographystyle{alpha}
81
\bibliography{booth_array_multiplier}
82
 
83
\end{document}
84
 
85
 
86
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.