• 検索結果がありません。

第 4 章 FPSM モデルシミュレーションと FPGA 実装による評価

4.2 PMU モデルと各周辺回路シミュレーション

4.2.2 マイコン周辺回路のモデリングと評価

4.2.2.1 FIFO モデル

68

表 4-10 PMU の演算器モデルの種類

PMU の数 演算器 8 ビット 16 ビット

加算器 2 4

減算器 2 -

69

FIFO では制限のあるバッファサイズの読み出し/書き込み制御を行う必要があり,ここでは 8 ビット長の 深さ 16 ワードとし,ステータスとして Full, Empty フラグをサポートする.

図 4-22 に 16 ワードの FIFO シミュレーションモデルとその結線を示す.このモデルでは,PMU①は書 き込み,読み込みのポインタとステータス制御を行う.図 4-23 にその動作を示す.

表 4-11 FIFO モデルで使用するマイクロ命令

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

FH FL 1 TH TL 条件付インクリメント FiFo(下位4ビット)

FH FL FC TH TL 1 条件付デクリメント FiFo(上位ビット)

Ctrl Info. 0 T 1 0 0 Ex.t. Jump 外部無条件分岐 External Address スルー

type

SEQ CF

Address Reg. +1,+16 Control Info.

適用事例 選択アドレス

FLAG[7:0]

Data [7:0]

備 考

4bit counter

0 1 COUNTH COUNTL

COUNTH COUNTL

PMU①では,書き込み,読み込み独立にインクリメント制御を行い,ポインタを管理すると同時にメモ リのフラグを使ってステータスを発行する.さらに FIFO ポインタを次段の PMU②に発行する.このポイ ンタ情報は,データ出力の下位4ビットを FIFO メモリのライトアドレス,データ出力の上位4ビットを FIFO のリードアドレスに設定してある.

図 4-22 16 ワードの深さの FIFO シミュレーションモデルと結線

図 4-23 PMU①の書き込み/読み込みポインタ制御

70

以上のような環境で FIFO の書き込み,読み込みと Full/Empty 信号の動作をシミュレーションで確認 した.その一例を図 4-24 に示す.ここでは,16 回の書き込みで Full 信号が,16 回の読み込みで Empty が観測された.

図 4-24 FIFO の Full/Empty 信号の確認

図 4-25 FIFO の Read/Write 評価

71

次にその他の書き込み/読み込み条件でのシミュレーション結果を図 4-25 に示す.

上段は,9 回書き込みを行った後,読み込みを 23 回実行した結果である.9 回書き込みを行い,23 回の 読み込み中に,9 回目の読み込み実行後,Empty 信号が“High”に立ち上がるのが確認でき,9 回目以降 は空読み状態となり,Full error 状態となる.

また,下段は 20 回の書き込みと 16 回の読み込みを行った結果である.16 ワードのバッファしかない ため,書き込み 16 回目以降は上書き状態となり,16 回目以降 20 回目まで Full 信号が“High”となり,

書き込み終了後,読み込みが上書き分の影響で,Empty error 状態となる.以上のように Empty 信号が

“High”状態で,読み込みイネーブル信号“High”,または Full 信号が“High”状態で,書き込みイネー ブル信号“High”,はルール違反となる.これら書き込み/読み込みを組み合わせた 33 パターンのシミュ レーション検証を行ったが,いくつかのパターンは,動作保証しないか,読めないよう,また書き込めな いようにブロック制御する必要がある.ここでは,これらの制御は今後の製品化時の課題とした.