デザインエントリ
Active-HDL
は効率的にデザインを作成するための機能を提供します。この機能は、ベンダに依存しないデザイン作成と特定のテクノロジー向けのデザイン作成のどちらでもご使用いただけます。グラフィカルにデザインを作成する機能とテキストベースでのデザイン作成を効率化する機能をご用意しています。
グラフィカルデザインエントリ機能として、ブロックダイアグラムエディタとステートマシンエディタが装備されています。これらのエディタで作成されたデザインから自動的に論理合成可能な
VHDL または Verilog-HDL ソースコードまたは EDIF
ネットリストを生成することができます。生成されたコードは Active-HDL
でそのままシミュレーション、デバッグを行うことができます。 (Active-HDL
にはシミュレーションエンジンと洗練されたデバッグ機能が装備されています。)
ブロックダイアグラムエディタ (BDE)
ブロックダイアグラムエディタはフラットなデザイン作成、階層構造を伴うデザイン作成どちらに対しても視覚的な作成を支援します。

ブロックダイアグラムエディタは、トップダウン設計、ボトムアップ設計どちらでもご利用いただけます。ボトムアップ設計では、コーディングされた
HDL からシンボルを呼び出してエディタ上に配置することができます (このブロックは黄色で表示されます)。トップダウン設計では、ファブと呼ばれるブロック(このブロックは青色で表示されます)をエディタ上に配置し、ファブ内に
HDL ソースコードを記述します。
Active-HDL は、FPGA
ベンダ向けのスケマティック・ライブラリを用意しており、それらをエディタ上に愛知して特定のテクノロジー向けのデザインを作成することができます。作成されたデザインは、すぐに
Active-HDL での検証、論理合成、配置配線のフローに移行できます。
エディタで作成したデザインのコード生成、コンパイルを行う前に、あらかじめ定義された DRC
ルールによって、エディタ上にエラーがあるかどうかをチェックすることができます。
ブロックダイアグラムの構造が複雑な場合やコンポーネントの数が多く場合には、ダイアグラムを複数ページに分割することができます。複数のページに分割されたページは実質上は一つのデザインとなります。下記の概念図をご参照ください。

ブロックダイアグラムエディタではストラクチャードバスを作成する
為に各種データ型(レコード型、対次元配列) を使用することができます。
例えば、パッケージ中に下記の二つのデータ型が宣言されている場合:
type my_bus is
record
addr : std_logic_vector(1 downto 0);
data : std_logic_vector(7 downto 0);
valid : std_logic;
end record;
type my_array is array (3 downto 0) of std_logic_vector(7 downto 0);
上記は Symbol Toolbox からダイアグラムにドラッグすることや Bus Properties
ダイアログから選択することが出来ます。下図では、my_bus データタイプの adbus
ストラクチャードバスと my_array データタイプ の array2d
ストラクチャードバスを配置した例を示しています。

ステートダイアグラムエディタ
ステートダイアグラムエディタは、ファイナイト・ステートマシン(FSM)を視覚的に作成するための機能です。クロックによる同期ステートマシンと非同期なステートマシン作成をサポートしています。

ステートマシンエディタでは、ポート、信号、変数、定数、ジェネリック、パ
ラメータ、HDL宣言、ステート、遷移条件、ステートアクションを定義すること
ができます。
ステートマシンエディタでは同一画面内で複数のステートマシンを使用したデ
ザインの作成が可能です。他のステートマシンから生成されたポートや信号に
よってコントロールされるステートマシンを作成することもできます。大規模
なステートマシンを単純化するためにステートマシンの階層化やジャンクショ
ンをサポートしています。また、ステートレジスタの観測を行う機能やシンセ
シス・アトリビュートを追加する設定を行うことができます。Active-HDL のス
テートマシンエディタは全ての FPGA 論理合成ツールをサポートしています。
ステートマシンエディタではテストベンチ自動生成機能をサポートしています。
生成されたテストベンチにより作成したステートマシンの検証を容易に実行す
ることができます。
HDL 専用テキストエディタ
HDL 専用テキストエディタは、C/C++ 及び HDL
ソースコード作成に便利な機能を備えたテキストエディタです。後工程のデバッグでもご利用いただけるように
Active-HDL のコンパイラ、シミュレータと密接に統合されています。
To facilitate work with a source code, the
editor features:
-
キーワードのカラー表示(VHDL, Verilog, and
C/C++/Handel-C/SystemC。下記図の青色部分)
-
キーワードのオートコンプリート機能
-
ブックマーク・ナビゲーション
-
オートインデント機能(ボタンプッシュによる定義されたインデントにそろえる。ユーザー定義のインデント設定も可能)
-
構造解析表示モード(HDL
構造を解析し、構造毎の色分け表示。構造部分の格納・展開)

下記の言語テンプレートから HDL
専用エディタにコンポーネントをドラッグするだけで、コンポーネント宣言を自動的に行います。水平分割、垂直分割スプリッタにより、エディタを2分割、4分割して作業することができます。
よく使用するオペレーションを簡素化するために、エディタにはアク
ションレコーダーが備わっています。アクションレコーダーによってキー
での入力情報、マウス操作/クリックの情報を記録、プレイバックするこ
とができます。
ランゲージ・アシスタント
ランゲージ・アシスタントは、VHDL,Verilog-HDL、SystemC 及び
Handel-C
のソースコード作成を効率的に行うための機能です。そのまま使用できるソースコードや数多くのテンプレートをご用意しています。
主な機能は下記の通りです。
言語テンプレート(ベーシックな言語構文)
合成テンプレート(マルチプレクサ、FF,カウンタなどの基本的なファンクションブロック)
シミュレーションテンプレート(シミュレーション実行に便利な構文)
オートコンプリート機能によって HDL エディタでのシンタックス入力
を自動的に補完することがでます。初めの二文字が同じシンタックスが複
数ある場合は、タブキーによって選択することができます。ユーザー定義
のシンタックスを追加することも可能です。
|