Line 1... |
Line 1... |
\documentclass{gqtekspec}
|
\documentclass{gqtekspec}
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%
|
%%
|
%% Filename: spec.tex
|
%% Filename: spec.tex
|
%%
|
%%
|
%% Project:
|
%% Project: Pipelined Wishbone to AXI coverter
|
%%
|
%%
|
%% Purpose:
|
%% Purpose: This document is a LaTeX description describing how to build
|
|
%% a specification document for the cores within this Pipelined
|
|
%% WB2AXI repository.
|
%%
|
%%
|
%% Creator:
|
%% Creator: Dan Gisselquist, Ph.D.
|
|
%% Gisselquist Technology, LLC
|
%%
|
%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%
|
%%
|
|
%% Copyright (C) 2018, Gisselquist Technology, LLC
|
|
%%
|
|
%% This program is free software (firmware): you can redistribute it and/or
|
|
%% modify it under the terms of the GNU General Public License as published
|
|
%% by the Free Software Foundation, either version 3 of the License, or (at
|
|
%% your option) any later version.
|
|
%%
|
|
%% This program is distributed in the hope that it will be useful, but WITHOUT
|
|
%% ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
|
|
%% FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
%% for more details.
|
|
%%
|
|
%% You should have received a copy of the GNU General Public License along
|
|
%% with this program. (It's in the $(ROOT)/doc directory, run make with no
|
|
%% target there if the PDF file isn't present.) If not, see
|
|
%% <http://www.gnu.org/licenses/> for a copy.
|
|
%%
|
|
%% License: GPL, v3, as defined and found on www.gnu.org,
|
|
%% http://www.gnu.org/licenses/gpl.html
|
|
%%
|
|
%%
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%%
|
|
%%
|
\usepackage{import}
|
\usepackage{import}
|
\usepackage{bytefield}
|
\usepackage{bytefield}
|
\project{Wishbone to AXI}
|
\project{Wishbone to AXI}
|
\title{Specification}
|
\title{Specification}
|
\author{Dan Gisselquist, Ph.D.}
|
\author{Dan Gisselquist, Ph.D.}
|
\email{dgisselq (at) opencores.org}
|
\email{zipcpu (at) gmail.com}
|
\revision{Rev.~0.0}
|
\revision{Rev.~0.1}
|
\begin{document}
|
\begin{document}
|
\pagestyle{gqtekspecplain}
|
\pagestyle{gqtekspecplain}
|
\titlepage
|
\titlepage
|
\begin{license}
|
\begin{license}
|
Copyright (C) \theyear\today, Gisselquist Technology, LLC
|
Copyright (C) \theyear\today, Gisselquist Technology, LLC
|
Line 27... |
Line 54... |
This project is free software (firmware): you can redistribute it and/or
|
This project is free software (firmware): you can redistribute it and/or
|
modify it under the terms of the GNU General Public License as published
|
modify it under the terms of the GNU General Public License as published
|
by the Free Software Foundation, either version 3 of the License, or (at
|
by the Free Software Foundation, either version 3 of the License, or (at
|
your option) any later version.
|
your option) any later version.
|
|
|
|
Some files within this repository have been released under the GNU Lesser
|
|
General Public License. These components may be separated from this repository,
|
|
and redistributed or modified under the terms of the Lesser GNU
|
|
Public License, again as published by the Free Software Foundation,
|
|
either vversion 3 of the License or (at your option) any later
|
|
version. These files will identified as such in their headers.
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
This program is distributed in the hope that it will be useful, but WITHOUT
|
ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
|
ANY WARRANTY; without even the implied warranty of MERCHANTIBILITY or
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
for more details.
|
for more details, or the GNU Lesser General Public License as appropriate.
|
|
|
You should have received a copy of the GNU General Public License along
|
You should have received a copy of both the GNU General Public License as
|
with this program. If not, see \texttt{http://www.gnu.org/licenses/} for a copy.
|
well as the GNU Lesser General Public License along with this repository.
|
|
(They are both in the \$(ROOT)/doc directory. Run make with no target there
|
|
if the PDF files are not present.) If not, see If not, see
|
|
\texttt{http://www.gnu.org/licenses/} for a copy.
|
\end{license}
|
\end{license}
|
\begin{revisionhistory}
|
\begin{revisionhistory}
|
0.0 & 9/6/2016 & D. Gisselquist & First draft\\\hline
|
0.0 & 9/6/2016 & D. Gisselquist & First draft\\\hline
|
\end{revisionhistory}
|
\end{revisionhistory}
|
% Revision History
|
% Revision History
|
% Table of Contents, named Contents
|
% Table of Contents, named Contents
|
\tableofcontents
|
\tableofcontents
|
\listoffigures
|
\listoffigures
|
\listoftables
|
\listoftables
|
\begin{preface}
|
\begin{preface}
|
This controller is born of necessity. As long as Xilinx's proprietary IP
|
The wishbone to AXI controller is born of necessity. As long as Xilinx's
|
makes it difficult to access memory, providing only access via the proprietary
|
proprietary IP makes it difficult to access memory, providing only access
|
AXI bus, some conversion will be necessary for anyone who wishes to use a
|
via the proprietary AXI bus, some conversion will be necessary for anyone
|
wishbone interface.
|
who wishes to use a wishbone interface.
|
|
|
A special shout out and thanks go to Stephan Wallentowitz, for his first
|
A special shout out and thanks go to Stephan Wallentowitz, for his first
|
draft of such a converter, and to Olofk for encouraging me to write it.
|
draft of such a converter, and to Olofk for encouraging me to write this
|
|
initial core.
|
|
|
|
The project has since grown into a general purpose set of both bus bridges
|
|
and formal bus properties, to include support for Wishbone, AXI-lite, and
|
|
Avalon busses. The full AXI implementation, together with the bridges
|
|
between full AXI and other busses, remains a work in progress.
|
\end{preface}
|
\end{preface}
|
|
|
\chapter{Introduction}\label{ch:intro}
|
\chapter{Introduction}\label{ch:intro}
|
\pagenumbering{arabic}
|
\pagenumbering{arabic}
|
\setcounter{page}{1}
|
\setcounter{page}{1}
|
Line 97... |
Line 140... |
\begin{table}[htbp]
|
\begin{table}[htbp]
|
\begin{center}
|
\begin{center}
|
\begin{wishboneds}
|
\begin{wishboneds}
|
Revision level of wishbone & WB B4 spec \\\hline
|
Revision level of wishbone & WB B4 spec \\\hline
|
Type of interface & Slave, Read/Write, pipeline reads supported \\\hline
|
Type of interface & Slave, Read/Write, pipeline reads supported \\\hline
|
Port size & 128--bit or 32--bit \\\hline
|
Port size & Various and configurable \\\hline
|
Port granularity & 8--bit \\\hline
|
Port granularity & 8--bit \\\hline
|
Maximum Operand Size & 128--bit or 32--bit \\\hline
|
Maximum Operand Size & Various and configurable\\\hline
|
Data transfer ordering & (Preserved) \\\hline
|
Data transfer ordering & (Preserved) \\\hline
|
Clock constraints & None.\\\hline
|
Clock constraints & None.\\\hline
|
Signal Names & \begin{tabular}{ll}
|
Signal Names & \begin{tabular}{ll}
|
Signal Name & Wishbone Equivalent \\\hline
|
Signal Name & Wishbone Equivalent \\\hline
|
{\tt i\_wb\_clk} & {\tt CLK\_I} \\
|
{\tt i\_wb\_clk} & {\tt CLK\_I} \\
|