理論グループのミーティングの報告

日時: 98/06/02
場所: 齋藤理一郎助教授教官室 西5-517

今回、山岡は前回までのメモリ読み書きの機能を拡張することを行なった。まず、Aポートを双方向ハンドシェークモード(mode2)とし、また、ボード上のメモリ4つ分(32ビット)を扱うことのできることを目的としてVHDL記述を行なった。沼さんはこのVHDLに即したCプログラムを作成した。

まず、山岡が説明を行なった。

<メモリ読み書き>ソースはここにあります。

(ソース説明)
ここでは、Aポートを双方向ハンドシェークモード(mode2)とし、また、ボード上のメモリ4つ分(32ビット)を扱うことのできることを目的としてVHDL記述を行なっている。
まず、今までのメモリのREAD、WRITEサイクルを別のファイルに分割し、上位からcomponentとして接続した。最初のprocessではハンドシェークの出力としての機能を使用してPCからデータを取り込む作業をしている。次のprocessではPCから取り込んだデータにより以前までと同様な処理をFPGAにさせための分岐をしている。BL(0) = '1'ならば無条件にリセットをかける。次のprocessでは指定された処理に従って、前回までと同様の作業を行なっている。

以上 山岡 98/06/02/16:30
次に、沼さんが説明を行なった。

<メモリの読み書きの検証> ヘッダファイル"dosio.h"はここにあります。 ソースはここにあります。

(ソース説明)
まず最初に、パソコンのDOS画面での入出力モード設定と入出力関数用のマクロを定義したヘッダファイル"dosio.h"を作成した。これにより、入出力モードをBASE8255の規格表を見なくてもモードと入出力をヘッダファイルから選べばよくなった。そして、DOS用入出力関数、outp、inpもヘッダファイルに入れることで、dosio.hを変えればDOS以外の環境でもCソースが使えるようになった。
今回は双方向ハンドシェークモードに対応した、メモリの検証プログラムを作った。ここでは"1"を押すごとにファイルの中のデータを 1行ずつメモリへ書き出すことができる。また"2"を押すとメモリのデータがリセットされて、最初の基底アドレスへ戻り次の行のデータから書き出しを行なう。また、FPGAからアクノレッジ信号が送られると、データの書き出しを中止し、メモリからデータを読み込まれる。

以上 沼 98/06/03/18:00