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

松下電気福田博幸 情報工学教室 加 藤 清 史

N/A
N/A
Protected

Academic year: 2021

シェア "松下電気福田博幸 情報工学教室 加 藤 清 史"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

ハー hウェア・シミュレーション・システム

       HSL/1(1)

       ハードウェアシステムの記述について

(昭和55年9月18日 原稿受付)

情報工学教室玉木明和

日本電気清原伸一

情報工学教室(大学院)水町 

松下電気福田博幸

情報工学教室 加 藤 清 史

Hardware Simulation System HSL/1(1)

  Declaration of Hardware System

by Akikazu TAMAKI   Shin−ichi KIYOHARA   Hajime MIZUMACHI   Hiroyuki FUKUDA   Kiyoshi KATO

      Ab8traet

  Wh・n w・.d巴i即・・d p・・d・・t th・digit・1・y・t・m・, we u・ually・・tice th・1・gi・al err・f・i・th・・e・y,t。m,

after completlon of them. Therefore, we can remove the logical errors in use of su伍cient simulation of th・h・・dw・・e・y・t・m・wh・n w・d・・i即th・m,・nd th・n w・m・y b・gi・t・m・k・th・m. The c。mp。t。, m。kers hav・th・d・v・1・PPi・g・y・t・m f・・digit・1・y・t・m・B・t th・・y・t・m i…t・uit・b1・f・・th・・m・ll 1。b。,at,y.

The auth・・O m・kr th・d・v・1・PPi・g・y・t・m f・・digit・1・y・t・m・uit・bl・f・・th・・m・111・b・・at・y,・all・d Ha「dw竺・e Slm・1・t1・輌・guag・1(HSL/1)・This sy・t・m・・n・i・t・・f th・・y・t・m desc・ipti・n p・・t and th。

slm・1・t1・n p・坑・Thls p・per rep・・t・・n th・d・記・ipti・ity・f h・・dw・・e・y・t・m with th・・y,t,m d。、c,ipti。。

part of HSL/1. Refer the reference 10 about actual simulation.

 1. はじめに      をなくしてから製作にとりかかれば良い。実際,最も複

      雑なディジタルシステムであるコンピューターを製作す

 ディジタル システムを設計製作するにあたり,論理    るメーカーなどは,ディジタル・システム開発システム

設計時のミスの発見は非常に難しく・実際に製作した後    を備えている。しかし,そのシステムは,メーカーと立

に見つかることがほとんどである。この対策としては,    場が異なる研究室レベルでのディジタル・システム開発

論理設計時にシミュレーションを十分に行い,論理ミス    用としては不向きである。著者らは,研究室レベルでの

(2)

ディジタル.システム開発用システムHardware S㎞u・   される場合が多い。この様なことをなくすためには・論 lation Language I(HSL/1)を開発した。 HSL/1はシス    理設計段階で十分なチェヅクを必要とする。したがって,

テム記述部とシミュレーション部に分かれており,本報    実際にハードウェアを製作しなくても,論理設計段階で 告では,HSL/1のシステム記述部における,ハードウエ    そのディジタル・システムが矛盾なく・設計通りに動作 アシステムの記述性について述べる。実際のシミュレー    するかどうかを調べるものが必要となる。すなわち,研 ションについては文献10を参照のこと。      究室でのディジタル・システムの製作に都合の良い,シ        ミュレーション・システムが必要となる。このシステム

2・ディジタルシステムの醗法     腰求されることは渓際の一一ドウエアの雛手1頂と

 コンピュータ・メーカーなどがディジタルコンピュー    類似していること,ディジタル・システムの記述が容易 タを開発する場合,つぎに示す段階ごとに開発研究が行    であること,IC単位や基板単位でのモジュール化が可能

われる。      なこと,ゲートやブリ・プ・フ・・プなどのデ・レーが

1.素子の設計       扱えること,などが挙げられる。

  トランジスタや,ダイナードの設計で,雑音に強い

      3.HSL乃の概略  こと,低電力,高速性が要求される。

2.電子回路の設計      前述した要求を満たすハードウエアシミュレーション   段階1で開発したトランジスタやダイオードを使用    システムを作成したが,ハードウエア・システムの記述  して,プリヅプ・フロップや論理ゲートの開発を行う。   には,KARL1)をもとに改良を加え使い易いものとした。

3.論理設計       HSL/1はつぎに示すようにふたつに分類できる。

4.を 蜻ヒ一:]↑∵HSL/1{:∵:::1;∵

  コンピュータの機械語や,コンピュータの内部構造

 などの計算機方式(アーキテクチャー)の設計および     システム部はハードウエア・システムの記述を行い,各  開発を行う。      論理素子の属性を示すディクレレーション部と各論理素子 5.言語設計      間の結合を示すステートメント部から構成される。きめ   コンピュータを使用するための,高級言語や低級言    細かいハードウエアの記述ができるように,各論理素子  語の設計および開発を行う。       の伝播遅れの値や,クロヅク・パルスとしてその周期や  また,コンピュータなどの複雑なシステムでは設計ミ    パルス幅を記述できる。さらにフリップ フロップの性 スなどがあってはならないので,各段階ごとのチェック    質の違いを,at文, on文, if文などを使って区別するこ が必要である。これらのチェックを人間だけで行うのは    とができる。

困難なので,コンピュータによるシミュレーションや     コントロール部はシミュレーションに必要なパラメー CADなどの技術が使われている。さらに,コンピュータ    タなどを記述する。シミュレーションの時間・どの時刻

に故障が起きた時に使用される故障診断プログラムの材    にデータを入力するか,あるいは,どの時刻にどの論理 料となる基礎データなども作成される。         素子の値をトレースのために出力するか,などを指定す  一方,研究室などでディジタルシステムを製作する場    る。また,各論理素子のディレーの値をコントロール部

合を考えてみると,上述した,段階1の素子の設計や段    で指定できるため,システム部で記述したディレーの値 階2の電子回路の設計などは行わずに,市販のICを利    を変更できる。したがって,同一のソース・プログラム 用した論理設計を行うのが普通である。ディジタルシス    (システム部で記述したもの)で,ディレーの値を変化 テムの研究室での製作手順は,論理設計,ハンダ付など    させて,数多くのシミュレーションが行える。

による製作,そして性能試験を行うのが一般的である。     ハードウエア・シミュレーションの方法は大きく分け

この手順によってディジタル・システムを製作する場合    て,コンパイル方式,テーブル・ドリブン方式,インター

も設計ミスなどを生じ,そのミスが性能試験段階で発見    注1文献1参照

(3)

プリタ方式があるが,本システムは,仮想マシンによる    を示すtinu文で終わる。 unit文とtinu文の間はディク コンパイル・インタープリタ方式を用いた。図1にシス    レレーション部とステートメント部からなり,前者は テムの概略を示す。システム部で記述されたソース・プ    ハードウエアシステムで使用される論理素子の属性を記 ログラムをコンパイラによって,相対形式のプログラム    述し,後者はそれらの結合を記述する。これらは明確な に翻訳する。この相対形式のプログラムをエディターに .  区別があるのではなく,ディクレレーション部でその論 よって実行形式のプログラムに変換する。この実行形式    理素子の結合を記述することもできる。以下,ディクレ のプログラムをシミュレータがコントロール部のコマン    レーション部とステートメント部について主要なものを

ドに従ってシミュレーションを行う。システム部では,    例を掲げて簡単に説明する。

ハー hウエアをICごと,あるいは基板などのモジュー    4.1ディクレレーション部 ルごとに記述でき,これをユニット(ソフトウエアのサ    a. レジスタ宣言

ブルーチンに相当する。)と呼ぶ。よく使用するユニヅト     使用するレジスタを宣言する。多次元構造をもつも を前もって作り,サブルーチン・ライブラリーとしての    のも記述可能である。(本システムでは5次元まで)

コ・ニット・パッケージを構成することができる。ユー   例 register、4CCσ(7:0).

ザーがconnect文を使用することにより,エディターは    ・4㏄σという名前で8ビット(、4CCσ(7)から ユニット゜パッケージから必要なユニットを取出し結合    ・4CCσ(0)まで)のレジスタを宣言している。

する。以上のことによって階層的な記述が可能となる。

 また,相対形式プログラム,実行形式プログラムは,

アイデンティファイヤー・テーブル, プログラム・エリ ア,データ・エリア,クロヅク・テープルから構成され ている。

       角αカ{7:0)

ロヨじノエ

賠?囲PA貯 @       図一一2 レジスタ宜言       c囎逗R      b.サブ・レジスタ宣言

      の みずロ 

      熊。・       すでに宣言したレジスタの一部を異なる名前で使用     ぷ畿、  蹴鯨       したい場合に,その一部をサブ・レジスタとして宣言す       駆脚丁㏄        ることが可能である。

      PR◎G      例  reg輌ster A CCσ(7:0).

         3鋤跳丁諏     HsL!x      subregister∠4LO(7:4)=ACCσ(7:4).

      ごむのむじ み

         8エ㈹瑚、。.       レジスタ・4㏄σの一部である∠4CCσ(7)〜、4CCσ(4)

      眠σ埠       に,!1LOという名前を付け,新しく4ビット(ノ1LO(7)

      〜ALO(4))のレジスタとして使用することを意味する。

 のごハでゆ     ド       の      ヤ

闇・璽:遅1コ竺一〔匡]i

       

て霊・1漂ξPご・蕊・〔OATAA鯨一〕1 ・

      L  _  _  _  _. _  _ ._ _  _ _  , 」

 図一1 ハードウェア・シミュレーション・システ      .

    ムの概略       禽㎝口・的    、m(7.い

4. システム部      図一3 サブレジスタ宣言

システム部は始まりを示すunit文から始まり,終わり   c.ヵスヶ一ド・レジスタ宣言

(4)

  すでに,宣言してある複数のレジスタをまとめて,    f.カスケード・ターミナル宣言

新しいレジスタとして使用したい場合に宣言する。サ     ヵスヶ一ド・レジスタ宣言と同様である。

ブ.レジスタ宣言の逆となる。      例 terminaL4(3:0),β(3:0)・

例,egi,t,, A(3・0), B(3・0).      ca・t・・minal C(7・0)−A(3・0)ほ(3・0)・

  casregister C(7:0)=A(3:0):B(3:0)・       9.コンスタント宣言

 4、ビットのレジスタ.4とレジスタBを接続して新し      ハードウエアで使用する論理1(Highレベル)論理 くCという名前をつけ8ビットのレジスタとして使用    0(Lowレベル)を宣言する。すなわち・固定したある することを意味する。       値をもつ(コンスタント)ターミナルであることを意味        する。

       例canstant㎜T(3:0)ニ1001B.

      c《7:0)         ひπ7 という名前をもつターミナルが,論理1001の値        をもつコンスタント・ターミナルであることを意味す 0       7   る。

1NIT(0、  1↑」IT 1)  INIT(2)  1「IIT(3)

A《380)          8(3tO)

図一4 カスケード・レジスタ宜言

d.ターミナル宣言

  ゲートなどの組合せ回路の出力をターミナルと呼

び,それらの宣言をする。      図一6 コンスタント宣言

伊‖ register /1(7:0).

  temlinal B(7:0).       h.マルチ・プレクサ宣言

  temlinal C(7:0)=・∠4(7:0)andβ(7:0),        コントロール信号によって・複数の入力論子からひ  レジスタ、4とタ_ミナルβが宣言してあり,さらに,    とつを選び,出力するマルチ・プレクサであることを宣

これらのビットごとの論理積(アンド)を行ったものを    言する。

Cという名前を付けて,ターミナルとして使用すること   例 terminal S(3:0;15:0), M(1:0)・

を意味する。       mux D(15:0)=case SA(1:0)of 5(3:0;15:0)

      

      4個の入力端子S(0;),5(1;),S(2;), S(3;)があ        C(7;0)       り,コントロール信号Mによって,それらの中から選       択してひとつを端子Dに出力する。

SA

       00

A(7 :0)       B{7 20)       01

       10

  図一5 ターミナル宣言       11 D S(0:)

S(1:)

S(2:)

S(3:)

e.サブ・ターミナル宣言

  サブ・レジスタ宣言と同様である。

例terminal∠4(7:0).

  subterminal/1L(7:4)=A(7:4).

(5)

       理1でなけれぽならない。タグビットがある場合,同 D 1弓言o)        時にふたつ以上の端子が論理1になった時はタグビッ        トが論理1にセットされる。

      D《0)D(1)D{,)P{3,D{角)P(5)1阿6ハD(7)

n{o;) :: :)  s《2}) .1 〕;)       薗ooα拍

図一7 マルチプレクサ宜言

i.デマルチ・プレクサ宣言

      図一9 デコーダ宜言   コントロール信号によってひとつの入力を複数の出

 力端子のひとつに出力するデマルチ・プレクサを宣言    例 terminal Q(7:0).

 する。       encoder E(2:0, tag∧IE):=Q(7:0ト

例 termina15(15:0), D4(3:0).      ターミナルQの論理1の場所によってEの値がセッ   demux case D4(1:0)of D(1:0;15:0)esac=     トされる。 Qが,複数個の論理1をもてば,タグビッ   S(15:0).       ト∧確が,論理1にセットされる。

 4個の出力端子D(0;),D(1;),1)(2;), D(3;)があり,

      慮  コントロール信号D4によって,それらの中から選択

      匡《2:0》

 して,ひとつに入力Sを出力する。

DA

q《2:0)

00 01 10 11

  S        ●㎝口 D(0:,)

D(1:)

D(2:)

D(3:)      q(7‡°⊃

      図一10 エンコーダ宜言

       酬,。漁、_臼   ‥。。ク宣言

      クロヅクを宣言する。クロックの周期を明示する場

倒1:0) @       合としない場合がある。多相クロックも記述できる。

      例 clock Tニ20 by ns

       周期30n秒,パルス幅10n秒のクロックτを意味す        る。

図一8 デマルチプレクサ宜言       櫛 1.デコーダ宣言        

  デコーダを宣言する。      U

       10 卸  30 杷  50 60 70

例register Q(2:0)       d

  d㏄oder D(7:0):=Q(2:0)..       図一11 クロック宣言

 レジスタQの値によって出力Dの対応する1ビット   m.アウト・バス宣言

 が論理1となる。       単方向性の出力バスを宣言する。接続形態としては k・エンコーダ宣言      トライステート,アンド,オアの三種類がある。

  エンコーダを宣言する。入力端子はひとつだけが論    例 register・4,8.

(6)

 temlinaLA T,βT, C.       値が書込まれ, MOで示された番地から読出される。

 outbus trist 1),      p.スイッチ宣言

 if C then、4τ:ニ∠4.      外部からのデータの入力ポートを宣言する。

 else/1 T:=@)且oa.丘. ・       {列  switch 1{EX(3:0).

 if not C thenβT:=β.      亙Eκは4ビットの外部入力端子を意味し,シミュ else Bτ:=⑧且oa.仕      レーションの実行時に値をセットすることができる。

 1):=∠4τ.

D、=βr      一

アウトパスDが,トライステート接続であることを意      ◆9澱も.

㌫1蒜二㌶蒜1二∵:ニ …協 鷲鷲蕊

をそれぞれ・47 ,βTとして,そのコントロール信号と

してCを用いる.③6。aはフ。一テ,〃状態を示   図一14スイッチ

す。

      q.ライト宣言

  t・tD      外部へのデータの出力ポートを宣言する。

      例1ight HEκ(3:0).

      班江の値によって点滅する4個のライトを意味す

e・mt酌1 c       る。

禽  D_守    8  D」牟        )   闊α{2》  耀江(3)

図一12 アウトバス宣言       剖

n.パイ・パス宣言

  双方向性のパスを宣言する。接続形態はトライス    国)

 テートである。

o.メモリー宣言

  レジスタ・アレイである記憶素子をメモリーとして      図一15ライト宜言  宣言する。

例memory〃(〃0(3:0),15:0)=〃(15:0;15:0)  r.コネクト宣言

      =1〜(M(3:0),15:0).      ユニヅトの呼出しを宣言し,呼出し側とユニヅトの  15ビット×15ビットのレジスタ・アレイの記憶素子    素子の対応を示す。

 として〃を宣言している。Mに示された番地にRの    例 unit・4(main).

       connectβ(X 1, X2 ;X3).

      ◎,。)   c・nnect C(y1;γ2;y3)・

       tinu.

       unit 13(β1,β2; β3).

       甑《3gω

       tinu.

        図一13 メモリ宜言       unit C(C1;C2;C3).

(7)

  i      b.at文

 tinu.      レジスタのデータを取込むタイミングがクロック・

メインニュットの中にニュヅトβとCがあることを     パルスのエッジであることを示す。

示し,X1, X2, X3と別,β2,β3カミ対応し,γ1,  例register・4.

y2, y3とC1, C 2, C3が対応していることを示す。     terminalβ.

      clock C.

      at Cdo   /1:=β.ta.

UNIT A       タ_ミナルβの値が,クロックCの立上がりでレジス

       タ・4に取込まれることを意味する。

図一16 コネクト宜言

A

C DQ B

図一18 エッジトリガD−FF 動 作 表

クロック D Q

H H

L L

X Q

L X Q

H X Q

Qは前の状態を示す。

XはHまたはLを示す。

       c.on文

 4.2 ステートメント部      マスター・スレーブフリップ・フロップの動作を記 a.単純文      述する。

  各素子の接続を記述する。右辺には,論理演算や,    例 register・4.

 算術演算を書くことができる。       terlninal 8.

例register 8, C.       cl㏄k C.

  terminal A.      on C do   /1:=β, no.

  、4:=βand C.       これはat文を使って書変えるとつぎのようになる。

 レジスタaCの出力のアンドをとったものをターミ     register∠4, INTERANAL.

 ナルCに接続することを意味する。       terminaLβ.

       clock C.

       at C do INTERNAL:=β. ta.      :        誕not C do  /1:=INTERNAL. ta,

     A      c.if文

       コントロール信号の論理1か論理0かでデータの転       送を制御することを記述する。

      ¢  1り     例register A.

       terminaLθ, C.

      図一17 アンドゲートの接続      if C then  ∠4:=β.丘

      コントロール信号Cが論理1のときターミナル8の

(8)

 値がレジスタ・4に転送される。      の出力などである。これらのシンボル名と実行形式に変        換された時の絶対アドレスの表をシミュレータが調ぺる

       できない。したがって,本システムでは,アイデンティ        ファイヤー・テーブルをシミュレータまで渡す必要が        ある。よって,本システムのエディターの役割は,コ    C        ンパイラの出力である相対形式プログラムとユニット・

        図一19D一ラッチ      パヅヶ_ジから実行形式のプログラムを作ることであ

dデ,レー        り・プ゜グラム エリア・データ エリア・ク゜ック゜

  素子の伝播遅れを立上がり遅れ泣下がり遅れ賜 テーブル・アイデンティファイヤー テーブノレの結合を    一      しなけれぽならない。

 けて記述する。

例terminaL4,β.      6.あとがき

  ノ1: ニdelay B by 20,10ns.

       ,       本システムにおいて,実際のハードウエアと対応して  ターミナル・4に8の値が伝播するのに立上がりで20       、

。秒立下がりで1。。秒遅れることを意味する。  いる呪記述性が非常に良いと思われる・力三後,

       多くの人々に使用してもらい,記述性の不備な点があれ        ぽ,それを改良して,より良いシステムとしたい。現在,

       コンパイラは最適化機能をもっていないので,シミュ        レーション時間を短縮するためには,その機能をもたす        必要がある。

  ロ

 1n       また,ユニヅト文とコネクト文を用いて階層構造が記        述できるので,よく使用されるICなどは,サブルーチン・

 1ρ       パッケージとして利用できるように,ユニット・パヅ        《■)       ケージを充実する必要がある。

         図一別 デイレー

       参考文献

 5.エディター       1)Ha「tenstei恥RW・, Flmdamentals of Structured Hardware       Design, North−Holland.

 実際のハードウエアでは同じ回路(ICや基板などのモ    2). B「ue「 M A Digital System Design:Lan即ages Simul合       tlon&Data Base, Com. Sci. Press.

ジュール)であっても,並列処理を行うため・ひとつの    3)Hnl, F J., Peterson, G. P. Digital Systems:Hardware 回路で他のものを代用することはできない。したがって,    Organization and Design, John Wiley&Sons.

ユニットとして作製したサプルーチンもCOnneCt文で    4)B「ue「, M・A, Design Automation of Digital Systems・Pre∩

      tice−Hall.

呼出すたびに・呼出し側に組込まなけれぽならない。本     池田校閲「ディジタル計算機の自動設計」,産業図書.

システムのエディターが一般のソフトウエアのエディ    5)清原「計算機設計言語の研究」,昭和54年度情報工学科修士論 ターと異なるのはその点にある。すなわち,connect文の    文・

あると・ろで卵出されるユニ・ト全体力・その場所に 6嬢 水町「計算酬言語の研究」昭和54年度情報工酬

組込まれることになる。       7)清原ら「HSL/1によるハードウエアのシミュレーション・シス  また,エディターで結合した実行形式のプログラムを     テム」昭和54年度電気四学会九州支部連合大会講演論文集

シ・・レータに渡す揃であるカい・・レータにおい 8し沓∵元㌫㌫誌墓1㌶灘㌫㌫

て,シミュレーション結果を知るために,ソース・プロ    9)玉木ら「HSL/1によって記述されたハードウエアモデルのシ グラムに記述されたシンボル名を使って,コントロー     ミユレーシ・ン」昭和55年度情報処理学会第21回全国大会講演        論文集.

ル コマンドの一部を指定するものがある。すなわち,    10)玉木ら「ハ_ドウエア.シミュレ_シ、ンシステムHSL/1(II)∫

スイッチ端子への外部からの入力やライト端子の外部へ     九州工業大学研究報告第42号昭和56年.

10 20 鈎 亀050 60 70 8090

参照

関連したドキュメント

⑥ニューマチックケーソン 職種 設計計画 設計計算 設計図 数量計算 照査 報告書作成 合計.. 設計計画 設計計算 設計図 数量計算

画面構成等は、電気工事店さまがスムーズに手続きを行えるように設計

はじめに 中小造船所では、少子高齢化や熟練技術者・技能者の退職の影響等により、人材不足が

充電器内のAC系統部と高電圧部を共通設計,車両とのイ

システムの許容範囲を超えた気海象 許容範囲内外の判定システム システムの不具合による自動運航の継続不可 システムの予備の搭載 船陸間通信の信頼性低下

本文書の目的は、 Allbirds の製品におけるカーボンフットプリントの計算方法、前提条件、デー タソース、および今後の改善点の概要を提供し、より詳細な情報を共有することです。

(一社)石川県トラック協会 団体・NPO・教育機関 ( 株 ) 石川県農協電算センター ITシステム、情報通信

最近の電装工事における作業環境は、電気機器及び電線布設量の増加により複雑化して