Frequently Asked Questions about PARTHENON - with Answers

2004年 3月31日版

この文書は,内容を改変しないことを条件として,自由に配布できます.この文書の内容はできるだけ正確であることを心がけていますが,完璧ではないかもしれません.残念ながら,この文書の内容により生じた如何なる結果に対しても, 責任を負うことはできません.しかし,この文書に対する追加情報, 訂正, 提案などは歓迎しますので,下記の連絡先まで送って下さい.

この文書には,NTTで開発されたハードウェア設計支援システムPARTHENONに関して,主として,PARTHENON Ver. 2.3.0.6 または Ver. 2.4.X (以下 WS版と記す),あるいは DOS用の PARTHENON/CQ版 Ver. 2.3.0 (以下 CQ版と記す) に対するいくつかの "Frequently Asked Questions" の答えが書かれています.

なお質問文中の以下の記述はそれぞれ次のような意味を持ちます.

ここには以下の質問に対する答えがあります.

PARTHENONの導入に関する質問

  1. PARTHENON に関する質問,問い合わせの窓口は ? (COMMON)
  2. PARTHENON はどのマシンで動きますか ? (WS/CQ)
  3. PARTHENON を使用するにはどの位のリソースがいりますか ? (WS/CQ)
  4. PARTHENON を使ってみたいのですが. (WS/CQ)
  5. PARTHENONの最新バージョンは ? (WS/CQ)

PARTHENONの動作に関する質問

  1. 制御端子を負論理で表現したいのですが. (COMMON)
  2. seconds/sflexp から起動されるエディタをかえたいのですが. (WS/CQ)
  3. input で宣言した幅をもったデータ端子の内, もしそのモジュールの中で参照しない端子が存在するような動作記述をした場合, 合成の際に自動的に削除してくれるのでしょうか ? (COMMON)
  4. submodule ごとに opt_map にかけたいのですが. (WS/CQ)
  5. 一度論理合成をした結果をそのまま利用したいのですが. (WS/CQ)
  6. opt_map の中で set コマンドなどで指定する時間の単位は ? (COMMON)
  7. opt_map が ? や ?? というメッセージを出力するのですが. (COMMON)
  8. デモ用のセルライブラリのデータは何から取ったのですか ? (COMMON)
  9. デモ用の PCD ファイルの中にある数値の単位は何ですか ? (COMMON)
  10. ゲート数の見積りの部分で,インバータを 0.5 ゲート分と計算することは可能ですか ? (COMMON)
  11. PARTHENON から CompassTool へのデータの渡し方は ? (COMMON)
  12. PARTHENON を FPGA の設計に利用できますか ? (COMMON)
  13. 論理合成中に "?? global stack full ??" のメッセージが出て止まってしまうのですが. (WS)
  14. PARTHENONが出力できるEDIFのバージョンは ? (WS/CQ)
  15. ld.so: warning: /usr/lib/libc.so.1.6 has older revision than expected 7 というような warning が出るのですが. (WS)

WS版の利用に関する質問

  1. どのようにすればPARTHENONを試用できるでしょうか ? (WS)
  2. 突然,"Sorry. This node has no right."というメッセージが出て使用できなくなったのですが. (WS)
  3. ユーザ名 xxxx では, PARTHENON が動きますが, その他のユーザ名 (yyyy) では, "Sorry. you have no right" のメッセージが出てきます. 他のユーザ名では使用出来ないのでしょうか ? (WS)

その他の質問

  1. PARTHENON の研究会があると聞きましたが. (COMMON)
  2. PARTHENON の Mailing List があると聞きましたが. (COMMON)
  3. PARTHENON, SFL, NLD, PCD などの名前の由来は ? (COMMON)

PARTHENONの導入に関する質問

  1. PARTHENON に関する質問,問い合わせの窓口は ? (COMMON)

    PARTHENONに関する質問,問い合わせ先は,新しいE-mailアドレス へと変更作業中です. 御不便をおかけしておりますが,もう少しお待ちください.


  2. PARTHENON はどのマシンで動きますか ? (WS/CQ)

  3. PARTHENON を使用するにはどの位のリソースがいりますか ? (WS/CQ)

    WS版あるいはCQ版の各版に応じて,下記のようになります.

    WS版

    SunOS

    Solaris

    Linux または FreeBSD

    Windows

    CQ版

    DOS


  4. PARTHENON を使ってみたいのですが.(WS/CQ)

    WS版の購入については,こちら までお問い合わせ下さい.

    研究,教育等の非営利目的に限って,WS版をダウンロードしてそのまま試用していただけます.詳しくはこちらを御覧下さい.

    CQ版は最寄りの書店で購入できます.


  5. PARTHENONの最新バージョンは ? (WS/CQ)

    CQ版は,Version 2.3.0 ,

    WS版は,Version 2.4.1 (Windows用のみ Version 2.3.0.6)が,それぞれの最新版です.

    なお,旧来のVersion 2.2.X までと,2.3.X 以降とを比較すると,以下の相違点があります.

    SFL言語仕様

    処理系 Version 2.2.X 以前の時点の言語仕様等については,インストールしたディレクトリ内の doc.dir/sfl_abst.doc 等のドキュメントファイルをご参照ください.
    Version 2.3.X 以降については,本ホームページに含まれる解説書をご利用願います.

PARTHENONの動作に関する質問

  1. 制御端子を負論理で表現したいのですが.(COMMON)

    SFL 言語には極性という概念はなじまないと考えています. 極性はその端子がドライブすべき負荷容量などと同じく物理的な制約に分類されると考え opt_map で対応しています.

    opt_map に inv というコマンドがあり,制御端子を負論理にできます.コマンド形式は,

            inv ピン名
    

    です.

    ただし現状では,ピン名で指定されるピン (もちろんトップモジュールのピン) のタイプが input または output のものについてのみ有効です.次のリリースではすべてのタイプに対応させる予定です.


  2. seconds/sflexpから起動されるエディタをかえたいのですが.(WS/CQ)

    以下の説明はWS版(Windows版を除く)についての説明です.CQ版およびWindows版についてはを御覧下さい.

    seconds の sflread コマンドの実行時やsflexp起動時に sfl 記述にエラーがあると,seconds/sflexpは$PARTHENON/com の sfl_edit.sh を shell のスクリプトとしてコールします.この時,第 1 アーギュメントは修正すべき sfl ファイル名,第 2 アーギュメントはエラーの行位置, 第 3 アーギュメントはエラーのカラム位置を示しています.また, エラーの修正後, 修正前のファイルは "ファイル名.bak" として残さなければなりません.

    sfl_edit.sh は通常のコマンドサーチルールにより検索されますので, 利用者の ~/bin に sfl_edit.sh を作成し, $PARTHENON/com より ~/bin が先に検索される様に path を設定しておけば, 利用者の固有のエディタを使用することが出来ます.

    $PARTHENON/com の sfl_edit.sh は,

            mv $1 $1.bak
            cp $1.bak $1
            xterm -title $1 -vb -e vi -c $2 $1 &
    

    の様になっています.最初の2行は変更前のファイルを "ファイル名.bak" として残す部分です. 3行目は xterm を起動してその中で,vi を起動することを表しています. & がないとエディタが終了するまで制御が seconds/sflexp に戻りません.

    ---
    以下の説明はCQ版およびWindows版についての説明です.WS版についてはを御覧下さい.

    seconds.exe の sflread コマンドの実行時やsflexp.exe起動時に sfl 記述にエラーがあると,seconds.exe/sflexp.exeは%PARTHENON%\com の sfl_edit.bat を実行します.この時,第1アーギュメントは修正すべき sfl ファイル名,第2アーギュメントはエラーの行位置, 第3アーギュメントはエラーのカラム位置を示しています. またエラーの修正後,修正前のファイルは "ファイル名.bak" として残さなければなりません.

    sfl_edit.bat は通常のコマンドサーチルールにより検索されますので,別のディレクトリにsfl_edit.bat を作成し,そこが先に検索される様に path を設定しておけば, 利用者の固有のエディタを使用することが出来ます.


  3. input で宣言した幅をもったデータ端子の内,もしそのモジュールの中で参照しない端子が存在するような動作記述をした場合, 合成の際に自動的に削除してくれるのでしょうか ? (COMMON)

    サブモジュールにおける参照されない端子は, 自動的に削除されます.ただし,トップモジュールにおいて,参照されない外部端子が定義されていた場合は, unused 属性の端子として残ることになります.


  4. submodule ごとに opt_map にかけたいのですが.(WS/CQ)

  5. 一度論理合成をした結果をそのまま利用したいのですが.(WS/CQ)

    module 毎に合成することは可能です.また時間が短縮される可能性もあります.本当に短縮されるかどうかは場合によります. ただしこのようなことを行なう時は以下の注意が必要になります. なお,以下の説明の中で使われるディレクトリ名等は,必要に応じて適当に読みかえて下さい.

    ---
    以下はWS版(Windows版を除く)についての説明です. CQ版およびWindows版についてはを御覧下さい.

    auto コマンド等は make を用いて PARTHENON の各プログラムを順次起動するようになっています. 詳細については, $PARTHENON/com/Makefile の内容を理解してください.

    さて,分割して合成する際に,問題となってくるのは opt_map というプログラムの振舞いです. opt_map は,本来,対話型のプログラムになっていますが,auto コマンドで起動される場合には,$PARTHENON/cell_lib.dir/DEMO/demoの中にある opt_scr.xxx をひな型として top-module のあるディレクトリに (module_name).opt_scr_xxx がつくられ, その中のコマンドが opt_map に与えられるようになっています.

    これらのコマンドスクリプトの最終段階で発行される last コマンドにより出力された nld ファイルを再び opt_map にかけることはできません.このようなことを行なう場合は,各 module 毎に opt_map に読み込み,必要に応じた最適化を実施した後に,

            write ディレクトリ名
    

    のコマンドを与えることにより得られる nld ファイルを使用するようにして下さい.

    なお,$PARTHENON/sfl_lib.dir の中に含まれる *.nld は以上の方法で作られたものです.これらの *.nld は *.h と組み合わせて使用されます.参考にして下さい.

    次にこのようにしてできた nld ファイルを使用する時のことですが,これらの nldファイルの存在場所を opt_map に教える必要があります.したがって,auto コマンド等でパルテノンを起動する時は $PARTHENON/com/Makefile の中の opt_map を起動している行に,nld ファイルのあるディレクトリの指定を追加して下さい.

    ---
    以下はCQ版およびWindows版についての説明です. WS版についてはを御覧下さい.

    auto.batは PARTHENON の各プログラムを順次起動するようになっています.詳細については,%PARTHENON%\com\auto.batの内容を理解してください.

    さて,分割して合成する際に,問題となってくるのは opt_map というプログラムの振舞いです. opt_map は,本来,対話型のプログラムになっていますが,auto コマンドで起動される場合には,%PARTHENON%\celldemo\の中にある opt_scr.xxx をひな型として top-module のあるディレクトリに (module_name).opx がつくられ, その中のコマンドが opt_map に与えられるようになっています.

    これらのコマンドスクリプトの最終段階で発行される last コマンドにより出力された nld ファイルを再び opt_map にかけることはできません.このようなことを行なう場合は,各 module 毎に opt_map に読み込み,必要に応じた最適化を実施した後に,

            write ディレクトリ名
    

    のコマンドを与えることにより得られる nld ファイルを使用するようにして下さい.

    なお,%PARTHENO%\sfl_lib.dir の中に含まれる *.nld は以上の方法で作られたものです.これらの *.nld は *.h と組み合わせて使用されます.参考にして下さい.

    次にこのようにしてできた nld ファイルを使用する時のことですが,これらの nldファイルの存在場所を opt_map に教える必要があります.したがって,auto.bat等でパルテノンを起動する時は %PARTHENON%\com\auto.bat の中の opt_map を起動している行に,nld ファイルのあるディレクトリの指定を追加して下さい.


  6. opt_map の中で set コマンドなどで指定する時間の単位は ? (COMMON)

    たとえば,設計条件を定める時に,setv コマンドで,

            setv ?cycle 1000
    

    とした場合,これは,大域変数 cycle に 値 1000 を与える,という意味でしかありません.つまり, cycle という名前が opt_map で特別な意味を持っている訳ではありません.

    では何故これが必要かというと,大抵の pcdファイルでは delay 等を,この cycle という変数を用いてパタメタライズして表現しているためです (このような場合,cycle に値を与えないとエラーになります).

    通常,cycle は 1マシンサイクル (クロック周期) を意味するように記述されています.が,これは用いる pcd ファイルの記述に依存します.

    また,1 単位時間が実時間でどの程度の長さかということも,pcd ライブラリに依存します.これは,opt_map 自体はデバイステクノロジから独立であり, デバイステクノロジは pcd ライブラリで表現されるためです.すなわち, opt_map の単位時間と実時間とを関連付けるのはユーザまたはライブラリの設計者の責任です.

    PARTHENONのインストールパッケージに含まれるDEMO社demoライブラリのデータは,0.8μ CMOS (Ver 2.2.X 以前は 1.5μ CMOS) テクノロジのデバイスの値を参考にして作成したものです.これらのライブラリにおいては,1単位時間は 1ns を示しています.


  7. opt_map が ? や ?? というメッセージを出力するのですが.(COMMON)

    ? や ?? はそれが出力されている時点では設計条件が満たされていない可能性が非常に高いことを示唆しています.opt_map では opt コマンドを与えられることにより回路の改善を行ないますが,それを一回行なっただけですべての条件が満たされるような改善が行なわれる訳ではありません.実際には opt コマンドを複数回与えることによって,回路を改善していきます.

    よって ? や ?? はそれほど気にする必要はありません.本当に設計条件を満たしているかどうかを知りたい時には opt_map に lctf というコマンドを与えることにより,その時点で設計条件を満たさないものを表示することができます.


  8. デモ用のセルライブラリのデータは何から取ったのですか ? (COMMON)

  9. デモ用の PCD ファイルの中にある数値の単位は何ですか ? (COMMON)

    $PARTHENON/cell_lib.dir/DEMO/demo にある,デモ用のセルライブラリのデータは,Version 2.3.X 以降では 0.8μ CMOS テクノロジ (Version 2.2.X 以前は 1.5μ CMOS テクノロジ) の,それぞれの実例値を使用して作成したものです.

    このデモ用の PCD ファイルの中の数値の単位は以下の通りです.

    power : μW/MHz
    area : Kμm2 (1000μm2)
    容量 : pF
    時間 : ns

  10. ゲート数の見積りの部分で,インバータを 0.5 ゲート分と計算することは可能ですか ? (COMMON)

    可能です. セルライブラリの pcd ファイルの記述において,

            (def-module in01d1 power 2.8 area 0.73728 gates 0.5
            ...
    

    のように,小数を使うことができます.


  11. PARTHENON から CompassTool へのデータの渡し方は ? (COMMON)

    opt_map から EDIF 形式のネットリストを出力することにより,接続可能です.


  12. PARTHENON を FPGA の設計に利用できますか ? (COMMON)

    特定の FPGA用に回路を最適化したり,FPGA をドライブしながらシミュレーションをするといった意味では,現在の PARTHENONだけで,FPGA の設計を行うことはできません.これらには,それぞれの FPGAベンダ等が提供している開発 (マッピング) ツールが必要となります.

    なお,PARTHENON と他のツールとのインタフェースは,

    PARTHENON  <-  セルライブラリ情報(PCD)
    (opt_map)  ->  ネットリスト(EDIF)
    

    というファイル形式になっており,ツールを連携させて利用することは容易です.

    原則的には FPGA で実現する場合もゲートアレイやスタンダードセルと同様に,

    1. FPGA用のセルライブラリを用意する.
    2. 必要であれば ( FPGA の開発ツールが EDIF を受け付けなければ) EDIF または NLD からのネットリスト形式の変換プログラムを作る.

    の 2 ステップが必要となります.

    ただし,現在提供中の PARTHENON では,LUTなどの FPGAの論理ブロックを直接扱うことはできませんので,FPGA の開発 (マッピング) ツールが認識できる擬似セルの情報 (基本論理ゲートと 3〜4種のフリップフロップなど) を,PCD で表現したものを用意し,セルライブラリとして用いることになります.

    この場合,FPGA で実現できる設計規模は FPGA の開発 (マッピング) ツールの能力に依存します.

    また,開発 (マッピング) ツールによっては, EDIF をサポートしていても,ネーミングルール等で使用できる文字に制約を課している場合がありますが,これには, AWK を用いることなどで対処できるでしょう.

    なお, ALTERA, XILINX, GATEFIELD については,PARTHENONのダウンロードにおける各OS別のページで,セルライブラリを提供しています. また,Version 2.3.X 以前のPARTHENON については,こちらをご覧ください.


  13. 論理合成中に "?? global stack full ??" のメッセージが出て止まって しまうのですが.(WS)

    このエラーは論理合成プログラムsflexpの内部で使用されている prolog の処理系が静的に取るメモリ(スタック)が不足するために起きます. もし autoコマンドで sflexp が使用される設定になっているようでしたら,代わりに sflexpl が使われるように設定を変えて試してください. (autoが参照する $PARTHENON/com/Makefile などを書き換える) sflexpl は sflexp と同機能のプログラムですが, 使用するスタックが大きめに取られます.

    しかし, 合成対象となる SFL記述によっては, 少々のリソースの追加ではこのオーバフローは解消できません. その場合は, 設計記述のしかたを工夫して対処していただくよりありません.

    例えば, 論理を積和形に展開すると積項が増えてしまう場合にオーバフローが発生します. 以下のように, 論理の構造に即した内部端子を挿入することにより, オーバフローを防ぐことができます.

    ex.
          変更前                 変更後
        input  a<8>;           input  a<8>;
        input  b<8>;           input  b<8>;
        output c;              output c;
                           ->  term   tmp<8>;
        c = /& ^ (a & b);      par {
                                   tmp = a & b;
                                   c = /& ^ tmp;
                               }
    
    また, ステージ中に条件分岐が多くなると, 合成処理が重くなります. 合成に適したSFL記述のテクニックとしては, などがあります.

  14. PARTHENONが出力できるEDIFのバージョンは ? (WS/CQ)

    PARTHENON の opt_map は EDIF 2 0 0形式のネットリストを出力することができます.以下のコマンドをopt_mapに与えることにより指定されたファイル名の EDIF 2 0 0形式のネットリストが得られます.

            cnn
            edif (ファイル名)
    
    cnnはピン名などをEDIF形式で許されている文字のみを使った名前に変更するコマンドです. edifコマンドを実行する前に必ずこのコマンドを実行するようにしてください.なお, このコマンドによって変更された名前を元に戻すことはできませんので御注意下さい.

    WS版にはnld_edifというプログラムが添付されていますが, これはnld形式のネットリスト からEDIF 1 1 0形式のネットリストを出力するプログラムです.


  15. ld.so: warning: /usr/lib/libc.so.1.6 has older revision than expected 7 というような warning が出るのですが. (WS)

    この message は,プログラムの実行形式を make した環境で用いた shared library よりも,実行時の環境で参照される shared library の minor version の方が新しいため,OS 側(ld.so)から出される警告です.

    Sun OS 4.1.1 と 4.1.2 のように,minor version だけが違う場合には,動作に問題はありません.


WS版の利用に関する質問

  1. どのようにすればPARTHENONを試用できるでしょうか ? (WS)

    WS版のPARTHENONは,

    という条件のもとで,無償で御試用いただけます.

    PARTHENONのダウンロード内の各OS別のページから,必要なパッケージをダウンロードして御利用願います.

    なお,PARTHENONを構成する各プログラムは,パスワードファイルによって利用期間が制限されています.必要に応じて,別途,最新のパスワードファイルをPARTHENONのダウンロードのページからダウンロードして利用願います.

    PARTHENONを御試用いただいた場合,パルテノン研究会等で御意見をいただければ幸いです. もしパルテノン研究会に加入されていないようでしたら,この際に加入されることをお勧め致します(強制ではありません).


  2. 突然,"Sorry. This node has no right."というメッセージが出て使用できなくなったのですが.(WS)

    これは,パスワードファイルで指定している PARTHENON の使用期限が切れたためです. 続けて御使用になりたい場合は,上記を御覧の上,パスワードファイルを更新して下さい.


  3. ユーザ名 xxxx では, PARTHENON が動きますが,その他のユーザ名 (yyyy) では,"Sorry. you have no right" のメッセージが出てきます.他のユーザ名では使用出来ないのでしょうか ? (WS)

    これは, インストール後の各サイトでのコンフィギュレーションに依存します.$PARTHENON 下の各 file, 特に$PARTHENON/com/parthe.nonに,使用する user または group に対しての read permission が与えられているかどうかをチェックして下さい. ユーザ yyyy がこれらの file を読めない場合, chmod して read permission を与えて下さい.

    環境変数 PARTHENON が set されていない場合も,同じ様な message が出ることがあります.

    このエラーメッセージは誤解を招き易いのですが, PARTHENON 自身は,user, group などの単位でのプロテクトは行なっておりません. host 単位のみです.


その他の質問

  1. PARTHENON の研究会があると聞きましたが.(COMMON)

    学術団体として「パルテノン研究会」が設立されています. 詳しくはこちらを御覧下さい.


  2. PARTHENON の Mailing List があると聞きましたが. (COMMON)

    大阪大学今井研究室の御厚意により SFLのメーリングリストが運営されています.

      ・入会は,
            subscribe edaj-sfl
        と本文に書いて, majordomo@eda.ics.es.osaka-u.ac.jp 宛にメールを
        送ります.
        Subject は 空で構いません.
    
            To: majordomo@eda.ics.es.osaka-u.ac.jp
            Subject:
            --------
            subscribe edaj-sfl
                
        その後,折り返し送られるメールに従ってください. 
    
      ・脱会は,
            unsubscribe edaj-sfl
        と本文に書いて, majordomo@eda.ics.es.osaka-u.ac.jp 宛にメールを
        送ります.
    
      ・なお,このメーリングリストに関する御意見,御質問などは,次のアドレス
        にお願い致します.
             eda-adm@eda.ics.es.osaka-u.ac.jp
    


  3. PARTHENON,SFL,NLD,PCD などの名前の由来は ? (COMMON)

    PARTHENON = Parallel Architecture Refiner Theorized by NTT Original Concept

    SFL = Structured Function Description Language

    NLD = Net List Description

    PCD = Physical Characteristic Description

    SECONDS = SFL Extended Conversational Design System

    SFLEXP = SFL Expander

    OPT_MAP = Optimizer and Technology Mapper

    ONSET = Optimizer for Logic Networks Supported by Extension of Transduction Method

    RINV = Reducer for Logic Inverters

    NLD_PS = NLD to PostScript


その他の情報ページへ戻る

ホームページに戻る