1 |
8 |
dgisselq |
\documentclass{gqtekspec}
|
2 |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3 |
|
|
%%
|
4 |
|
|
%% Filename: spec.tex
|
5 |
|
|
%%
|
6 |
|
|
%% Project:
|
7 |
|
|
%%
|
8 |
|
|
%% Purpose:
|
9 |
|
|
%%
|
10 |
|
|
%% Creator:
|
11 |
|
|
%%
|
12 |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
13 |
|
|
%%
|
14 |
|
|
\usepackage{import}
|
15 |
|
|
\usepackage{bytefield}
|
16 |
|
|
\project{Wishbone to AXI}
|
17 |
|
|
\title{Specification}
|
18 |
|
|
\author{Dan Gisselquist, Ph.D.}
|
19 |
|
|
\email{dgisselq (at) opencores.org}
|
20 |
|
|
\revision{Rev.~0.0}
|
21 |
|
|
\begin{document}
|
22 |
|
|
\pagestyle{gqtekspecplain}
|
23 |
|
|
\titlepage
|
24 |
|
|
\begin{license}
|
25 |
|
|
Copyright (C) \theyear\today, Gisselquist Technology, LLC
|
26 |
|
|
|
27 |
|
|
This project is free software (firmware): you can redistribute it and/or
|
28 |
|
|
modify it under the terms of the GNU General Public License as published
|
29 |
|
|
by the Free Software Foundation, either version 3 of the License, or (at
|
30 |
|
|
your option) any later version.
|
31 |
|
|
|
32 |
|
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
33 |
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
|
34 |
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
35 |
|
|
for more details.
|
36 |
|
|
|
37 |
|
|
You should have received a copy of the GNU General Public License along
|
38 |
|
|
with this program. If not, see \texttt{http://www.gnu.org/licenses/} for a copy.
|
39 |
|
|
\end{license}
|
40 |
|
|
\begin{revisionhistory}
|
41 |
|
|
0.0 & 9/6/2016 & D. Gisselquist & First draft\\\hline
|
42 |
|
|
\end{revisionhistory}
|
43 |
|
|
% Revision History
|
44 |
|
|
% Table of Contents, named Contents
|
45 |
|
|
\tableofcontents
|
46 |
|
|
\listoffigures
|
47 |
|
|
\listoftables
|
48 |
|
|
\begin{preface}
|
49 |
|
|
This controller is born of necessity. As long as Xilinx's proprietary IP
|
50 |
|
|
makes it difficult to access memory, providing only access via the proprietary
|
51 |
|
|
AXI bus, some conversion will be necessary for anyone who wishes to use a
|
52 |
|
|
wishbone interface.
|
53 |
|
|
|
54 |
|
|
A special shout out and thanks go to Stephan Wallentowitz, for his first
|
55 |
|
|
draft of such a converter, and to Olofk for encouraging me to write it.
|
56 |
|
|
\end{preface}
|
57 |
|
|
|
58 |
|
|
\chapter{Introduction}\label{ch:intro}
|
59 |
|
|
\pagenumbering{arabic}
|
60 |
|
|
\setcounter{page}{1}
|
61 |
|
|
|
62 |
|
|
%
|
63 |
|
|
% Introduction
|
64 |
|
|
%
|
65 |
|
|
% This section contains the introduction to the core, describing both its
|
66 |
|
|
% use and its features.
|
67 |
|
|
%
|
68 |
|
|
|
69 |
|
|
|
70 |
|
|
% What is old
|
71 |
|
|
% What does the old lack?
|
72 |
|
|
% What is new
|
73 |
|
|
% What does the new have that the old lacks
|
74 |
|
|
% What performance gain can be expected?
|
75 |
|
|
|
76 |
|
|
\chapter{Architecture}\label{ch:arch}
|
77 |
|
|
|
78 |
|
|
% This section describes the architecture of the block. A block level diagram
|
79 |
|
|
% should be included describing the top level of the design.
|
80 |
|
|
|
81 |
|
|
\chapter{Operation}\label{ch:ops}
|
82 |
|
|
|
83 |
|
|
% This section describes the operation of the core. Specific sequences, such
|
84 |
|
|
% as startup sequences, as well as the modes and states of the block should be
|
85 |
|
|
% described.
|
86 |
|
|
%
|
87 |
|
|
|
88 |
|
|
\chapter{Clocks}\label{ch:clocks}
|
89 |
|
|
|
90 |
|
|
% This section specifies all of the clocks. All clocks, clock domain passes
|
91 |
|
|
% and the clock relations should be described.
|
92 |
|
|
|
93 |
|
|
% Name | Source | Rates (MHz) | Remarks | Description
|
94 |
|
|
% | Max|Min|Resolution|
|
95 |
|
|
|
96 |
|
|
\chapter{Wishbone Datasheet}\label{ch:wishbone}
|
97 |
|
|
\begin{table}[htbp]
|
98 |
|
|
\begin{center}
|
99 |
|
|
\begin{wishboneds}
|
100 |
|
|
Revision level of wishbone & WB B4 spec \\\hline
|
101 |
|
|
Type of interface & Slave, Read/Write, pipeline reads supported \\\hline
|
102 |
|
|
Port size & 128--bit or 32--bit \\\hline
|
103 |
|
|
Port granularity & 8--bit \\\hline
|
104 |
|
|
Maximum Operand Size & 128--bit or 32--bit \\\hline
|
105 |
|
|
Data transfer ordering & (Preserved) \\\hline
|
106 |
|
|
Clock constraints & None.\\\hline
|
107 |
|
|
Signal Names & \begin{tabular}{ll}
|
108 |
|
|
Signal Name & Wishbone Equivalent \\\hline
|
109 |
|
|
{\tt i\_wb\_clk} & {\tt CLK\_I} \\
|
110 |
|
|
{\tt i\_wb\_cyc} & {\tt CYC\_I} \\
|
111 |
|
|
{\tt i\_wb\_stb} & {\tt STB\_I} \\
|
112 |
|
|
{\tt i\_wb\_we} & {\tt WE\_I} \\
|
113 |
|
|
{\tt i\_wb\_addr} & {\tt ADR\_I} \\
|
114 |
|
|
{\tt i\_wb\_sel} & {\tt SEL\_I} \\
|
115 |
|
|
{\tt i\_wb\_data} & {\tt DAT\_I} \\
|
116 |
|
|
{\tt o\_wb\_ack} & {\tt ACK\_O} \\
|
117 |
|
|
{\tt o\_wb\_stall} & {\tt STALL\_O} \\
|
118 |
|
|
{\tt o\_wb\_data} & {\tt DAT\_O}
|
119 |
|
|
\end{tabular}\\\hline
|
120 |
|
|
\end{wishboneds}
|
121 |
|
|
\caption{Wishbone Datasheet}\label{tbl:wishbone}
|
122 |
|
|
\end{center}\end{table}
|
123 |
|
|
|
124 |
|
|
\chapter{I/O Ports}\label{ch:ioports}
|
125 |
|
|
|
126 |
|
|
% This section specifies all of the core IO ports
|
127 |
|
|
|
128 |
|
|
% Appendices
|
129 |
|
|
% A. May be added to outline different specifications. (??)
|
130 |
|
|
|
131 |
|
|
|
132 |
|
|
% Index
|
133 |
|
|
\end{document}
|
134 |
|
|
|
135 |
|
|
|