\documentclass{jsarticle}
\usepackage{times,amsmath,amssymb,ascmac}
\begin{document}

\title{情報実験第三(O) 第2回レポート}
\date{提出日 2005年6月9日}
\author{情報工学科 03\_19055 \\ o5\_39}
\maketitle
\clearpage

\section{クロック信号}

\begin{itembox}[r]{質問}
ボードユニット(bu)で、2つのクロック信号clk1、clk2が生成される。
それぞれの波形とタイミングを示し、そのVerilog記述との対応について説明せよ。
(信号ck、q1、q2は、それぞれどの様な変化をするか?)。
\end{itembox}


\subsection{clk1、clk2の波形}

クロック信号clk1、clk2のいずれも、
1が四分の一周期続き、その後0が四分の三周期続いて、再び1に戻る矩形波である。

\subsection{clk1、clk2のタイミング}

clk1とclk2は、半周期ずれている。
1周期は、ボードユニットで定義されている定数PERIODの値によって決定される。
1周期はPERIODの10倍であり、PERIODが500nsであれば、5000nsである。

\subsection{Verilog記述との対応}

2つのクロック信号clk1とclk2は、
次に示すボードユニットのVerilog記述からわかるように、
信号q1、q2によって決定される。

\begin{verbatim}
assign clk1 = ~q1 & ~q2;
assign clk2 = q1 & q2;
\end{verbatim}

つまり、clk1は、q1とq2がともに0の時、
clk2は、q1とq2がともに1の時、1となる。

q1とq2は如何にして決定されるかというと、
次のVerilog記述を見ればわかる。

\begin{verbatim}
always #PERIOD ck = ~ck;
always @(posedge ck)
begin
q1 <= q2;
q2 <= ~q1;
end
\end{verbatim}

ckは、定数PERIOD ns毎に反転する。
従って、条件postage ckが満たされるのは
(すなわちckが0から1に変わる時)、
PERIOD×2 ns毎である。

さてこの時、\verb|q1 <= q2|から、


\end{document}