2010年9月Lattice Diamondソフトウェアは、設計の調査、使いやすさ、およびフローの改善に関して、多数の魅力的な新機能を持っています。この記事では、Diamond GUIの使いやすさ向上の一因となっているProject Views(プロジェクトビュー)を中心に、この機能が提供する新機能の一部を紹介します。
Lattice Diamond設計ソフトウェア
(ハイライトされているのはプロジェクトウィンドウ・ペイン)
Diamondのユーザインターフェイスの左側には、プロジェクトウィンドウ・ペインがあります。デフォルトでは、Diamondプロジェクトを開いたときに、このウィンドウにはFile List(ファイルリスト)ビューとProcess(プロセス)ビューが表示されます。ファイルリストビューには、対象となっているデバイス、事前定義済みおよびユーザ定義のストラテジ、定義済みのインプリメンテーション(実装)など、プロジェクトの内容に関する情報がすべて表示されます。実装ごとに、ソースファイル(Verilog、VHDL、およびEDIFファイル)、制約ファイル(設定ファイル)、デバッグファイル(Reveal Inserterで使用)、スクリプトファイル(シミュレーション・ウィザードで生成)、および解析ファイル(パワーカリキュレータとタイミングアナライザ・ビューで使用)のフォルダがあります。プロジェクト名、ストラテジ、インプリメンテーション、またはソースを右クリックすると、アイテムの追加と削除、ファイルのオープン、オプション設定のための多数のオプションが表示されます。File List(ファイルリスト)ビューでは、すべての設計ソースを容易に管理でき、しかも複雑な複数のインプリメンテーション設計を作成するための機能が用意されています。
File List(ファイルリスト)ビュー
プロセスビューには、すべての実装プロセスとオプションが表示されます。各プロセスを右クリックすると、Run(実行)、Rerun(再実行、不要であっても強制実行)、およびRerun All(すべて再実行、その時点までのすべてのプロセスを強制実行)が可能です。プロセスの実行を停止して、すべてのプロセスを初期状態に戻す“Clean Up Process(プロセスのクリーンアップ)”や、プロセス状態の更新も可能です。エクスポートプロセスでは、オプションでタスクを選択できます。その結果、エクスポートプロセスを実行するたびに、そうしたタスクを実行できます。
Process(プロセス)ビュー
ファイルリストおよびプロセスビューには、設計プロジェクトの管理に必要な基本ツールが用意されています。ただし、設計情報と機能が豊富に用意されたビューが、それ以外にいくつかあります。そうしたビューを表示するには、Diamondアイコンツールバー上段の、実行制御アイコンの左にあるGenerate Hierarchy(階層の生成)ボタンを最初にクリックする必要があります。そうすることで設計が解析され、HDL Diagram(ダイヤグラム)、Dictionary(ディクショナリ)、Module library(モジュールライブラリ)、Hierarchy(階層)の各ビューが生成されます。HDLダイヤグラムビューは、プロジェクトビュー・ウィンドウペインの右にある、Tool(ツール)ビュー・ウィンドウペインに表示されます。この記事では、プロジェクトに固有のディクショナリ、モジュールライブラリ、および階層の各ビューに注目します。
Generate Hierarchy(階層の生成)ボタン
ディクショナリビューには、すべての設計要素がアルファベット順リストで表示されます。ここにはモジュールなどの階層レベルだけでなく、ポート名やネット名、セル名なども含まれます。ディクショナリビューでは、正規表現を使用してすべての設計要素を検索することもできます。要素を右クリックすると、選択した要素に応じて、ソースコード定義を開いたり、テストベンチ・テンプレートを生成したり、回路図記号を生成するといったアクションが可能です。

Dictionary(ディクショナリ)ビュー
モジュールライブラリビューには、設計中のすべてのモジュールがリストされます。VHDLまたは混在言語設計では、使用されるすべてのVHDLライブラリもリストされ、モジュールがそうしたライブラリにクループ化されます。モジュールを右クリックすると、ソースの表示、テストベンチ・テンプレートの生成、回路図シンボルの生成、またはモジュールを設計のトップレベル・ユニットに設定するためのメニューが表示されます。トップレベル・ユニットを変更すると、論理合成およびインプリメンテーションに渡される設計(または、階層の生成を再実行した場合はビューの表示)が変化します。これはボトムアップ・デザイン方式の場合に便利です。通常は、設計のトップレベルが自動的に判定されます。
Module Library(モジュールライブラリ)ビュー
階層ビューは、設計を解析するために最も重要なビューです。このビューには、設計の階層構造がデフォルトで表示されます。ispLEVERではこの情報がモジュールタブに表示されます。階層ビューでは、設計の階層を展開したり、縮小したりできます。右クリックで表示されるメニューでは、すべての階層レベルでソース定義の表示、階層がインスタンス化されたソースの表示、テストベンチ・テンプレートの生成、回路図シンボルの生成が可能です。また、HDLダイヤグラムビュー内のすべての階層レベルで接続状態、インスタンス記号、モジュール記号を表示できます。
Hierarchy(階層)ビュー
また、階層ビューはTools Options(ツールオプション)メニューで展開することもできます。HDLダイヤグラムのエントリで“Simplified Hierarchy Display(シンプルな階層表示)”チェックボックスをオフにすると、階層ビューにポート、ピン、信号、連続割り当てアイテムが表示されるようになり、設計構造を詳細に理解できます。

Hierarchy(階層)ビュー
以上をまとめると、利用可能なすべてのプロジェクトビューによって、Diamondソフトウェア環境に大量の情報が表示されます。Lattice Diamondソフトウェアの、プロジェクトの表示および解析機能が大幅に拡張されます。インプリメンテーションとストラテジの概念と使用法や、このソフトウェアで利用可能な各種ツールなど、この他の重要な点については、今後の記事でご紹介していきます。