mirror of https://github.com/YosysHQ/yosys.git
Progress in presentation
This commit is contained in:
parent
a71d09421d
commit
3d9da919d8
|
@ -406,7 +406,42 @@ input values to cells.
|
||||||
\subsubsection{Handling shorted inputs}
|
\subsubsection{Handling shorted inputs}
|
||||||
|
|
||||||
\begin{frame}{\subsubsecname}
|
\begin{frame}{\subsubsecname}
|
||||||
TBD
|
\begin{itemize}
|
||||||
|
\item The special parameters {\tt \_TECHMAP\_BITS\_CONNMAP\_} and
|
||||||
|
{\tt \_TECHMAP\_CONNMAP\_\it <port-name>\tt \_} can be used to handle shorted inputs.
|
||||||
|
\medskip
|
||||||
|
\item Each bit of the port correlates to an {\tt \_TECHMAP\_BITS\_CONNMAP\_} bits wide
|
||||||
|
number in {\tt \_TECHMAP\_CONNMAP\_\it <port-name>\tt \_}.
|
||||||
|
\medskip
|
||||||
|
\item Each unique signal bit is assigned its own number. Identical fields in the {\tt
|
||||||
|
\_TECHMAP\_CONNMAP\_\it <port-name>\tt \_} parameters mean shorted signal bits.
|
||||||
|
\medskip
|
||||||
|
\item The numbers 0-3 are reserved for {\tt 0}, {\tt 1}, {\tt x}, and {\tt z} respectively.
|
||||||
|
\medskip
|
||||||
|
\item Example use-cases:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Detecting shared clock or control signals in memory interfaces.
|
||||||
|
\item In some cases this can be used for for optimization.
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[t]{\subsubsecname{} -- Example}
|
||||||
|
\vbox to 0cm{
|
||||||
|
\vskip4.5cm
|
||||||
|
\hskip6.5cm\includegraphics[width=5cm,trim=0 0cm 0 0cm]{PRESENTATION_ExAdv/addshift.pdf}
|
||||||
|
\vss
|
||||||
|
}
|
||||||
|
\vskip-0.6cm
|
||||||
|
\begin{columns}
|
||||||
|
\column[t]{6cm}
|
||||||
|
\vskip-0.4cm
|
||||||
|
\lstinputlisting[basicstyle=\ttfamily\fontsize{7pt}{8pt}\selectfont, language=verilog]{PRESENTATION_ExAdv/addshift_map.v}
|
||||||
|
\column[t]{4.2cm}
|
||||||
|
\vskip-0.6cm
|
||||||
|
\lstinputlisting[basicstyle=\ttfamily\fontsize{8pt}{10pt}\selectfont, frame=single, language=verilog]{PRESENTATION_ExAdv/addshift_test.v}
|
||||||
|
\lstinputlisting[basicstyle=\ttfamily\fontsize{8pt}{10pt}\selectfont, frame=single, language=ys, lastline=5]{PRESENTATION_ExAdv/addshift_test.ys}
|
||||||
|
\end{columns}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\subsubsection{Notes on using techmap}
|
\subsubsection{Notes on using techmap}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
all: select_01.pdf red_or3x1.pdf sym_mul.pdf mymul.pdf mulshift.pdf
|
all: select_01.pdf red_or3x1.pdf sym_mul.pdf mymul.pdf mulshift.pdf addshift.pdf
|
||||||
|
|
||||||
select_01.pdf: select_01.v select_01.ys
|
select_01.pdf: select_01.v select_01.ys
|
||||||
../../yosys select_01.ys
|
../../yosys select_01.ys
|
||||||
|
@ -16,3 +16,6 @@ mymul.pdf: mymul_*
|
||||||
mulshift.pdf: mulshift_*
|
mulshift.pdf: mulshift_*
|
||||||
../../yosys mulshift_test.ys
|
../../yosys mulshift_test.ys
|
||||||
|
|
||||||
|
addshift.pdf: addshift_*
|
||||||
|
../../yosys addshift_test.ys
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
module \$add (A, B, Y);
|
||||||
|
parameter A_SIGNED = 0;
|
||||||
|
parameter B_SIGNED = 0;
|
||||||
|
parameter A_WIDTH = 1;
|
||||||
|
parameter B_WIDTH = 1;
|
||||||
|
parameter Y_WIDTH = 1;
|
||||||
|
|
||||||
|
input [A_WIDTH-1:0] A;
|
||||||
|
input [B_WIDTH-1:0] B;
|
||||||
|
output [Y_WIDTH-1:0] Y;
|
||||||
|
|
||||||
|
parameter _TECHMAP_BITS_CONNMAP_ = 0;
|
||||||
|
parameter _TECHMAP_CONNMAP_A_ = 0;
|
||||||
|
parameter _TECHMAP_CONNMAP_B_ = 0;
|
||||||
|
|
||||||
|
wire _TECHMAP_FAIL_ = A_WIDTH != B_WIDTH || B_WIDTH < Y_WIDTH ||
|
||||||
|
_TECHMAP_CONNMAP_A_ != _TECHMAP_CONNMAP_B_;
|
||||||
|
|
||||||
|
assign Y = A << 1;
|
||||||
|
endmodule
|
|
@ -0,0 +1,5 @@
|
||||||
|
module test (A, B, X, Y);
|
||||||
|
input [7:0] A, B;
|
||||||
|
output [7:0] X = A + B;
|
||||||
|
output [7:0] Y = A + A;
|
||||||
|
endmodule
|
|
@ -0,0 +1,6 @@
|
||||||
|
read_verilog addshift_test.v
|
||||||
|
hierarchy -check -top test
|
||||||
|
|
||||||
|
techmap -map addshift_map.v;;
|
||||||
|
|
||||||
|
show -prefix addshift -format pdf -notitle
|
|
@ -359,7 +359,7 @@ as Qflow\footnote[frame]{\url{http://opencircuitdesign.com/qflow/}} for ASIC des
|
||||||
Map registers to available hardware flip-flops.
|
Map registers to available hardware flip-flops.
|
||||||
}%
|
}%
|
||||||
\only<12>{
|
\only<12>{
|
||||||
Map logix to available hardware gates.
|
Map logic to available hardware gates.
|
||||||
}%
|
}%
|
||||||
\only<13>{
|
\only<13>{
|
||||||
Clean up the design (just the last step of {\tt opt}).
|
Clean up the design (just the last step of {\tt opt}).
|
||||||
|
|
Loading…
Reference in New Issue