記事 ID: 000084918 コンテンツタイプ: 製品情報 & ドキュメント 最終改訂日: 2013/03/25

Synopsys (Design Compiler または FPGA コンパイラー) と MAX PLUS® II ソフトウェアを使用する際に、VHDL デザインにおけるロジックセルの挿入を制御するにはどうすればよいですか?

環境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

信号の配線やファンアウトを減らすためにロジックセルを挿入する必要がある場合があります。フローは次のとおりです。

  1. ハードウェア記述言語 (HDL) ソースコード内のロジックセル・コンポーネントをインスタンス化します。
  2. ロジックセルのインスタンス名に Synopsys ディレクティブ set_dont_touch を追加します。
  3. このロジックセルに MAX PLUS II ソフトウェア・ロジックの割り当てを追加 STYLE=WYSIWYG します。

次の例(ilf.vhd および ilc.gt)は、 XOR ゲートとフリップフロップの間にロジックセルを挿入する方法を説明しています。Synopsys シンセサイザー (デザイン・コンパイラーまたはFPGA・コンパイラー) は、ilc.vhd および ilc.gcc.gcc を処理して、MAX PLUS II EDIF ファイルを生成します。この EDIF ファイルには、LCELL インスタンス化と STYLE=WYSIWYG ロジック割り当てが含まれています。

----------------------------------------------------------                     

---                                                                            

---    Insert an LCELL                                                         

---                                                                            

---    ilc.vhd                                                                 

---                                                                            

LIBRARY ieee;                                                                  

USE ieee.std_logic_1164.ALL;                                                   

                                                                               

ENTITY ilc IS                                                                  

PORT(  dina, dinb, clk : IN STD_LOGIC;                                        

dout    : OUT STD_LOGIC);                                                  

END ilc;                                                                       

                                                                               

ARCHITECTURE a OF ilc IS                                                       

                                                                               

signal foo_in,foo_out : std_logic;                                             

                                                                               

COMPONENT LCELL PORT ( a_in : IN STD_LOGIC;                                    

       a_out: OUT STD_LOGIC);                                               

END COMPONENT;                                                                 

                                                                               

BEGIN                                                                          

                                                                               

U0 : LCELL port map (foo_in,foo_out);                                          

                                                                               

foo_in <= dina XOR dinb ;                                                      

                                                                               

flip_flop: PROCESS(clk)                                                        

BEGIN                                                                          

IF clk'event and (clk = '1')                                                  

THEN dout <= foo_out;                                                         

END IF ;                                                                      

END PROCESS ;                                                                  

                                                                               

                                                                               

END a;                                                                         

---                                                                            

---                                                                            

-------------------------------------------------------                        

                                                                               

/**********************************************************/                   

/*   ilc.scr                                              */                   

/*   Synopsys script for design compiler or FPGA compiler */                   

/*                                                        */                   

                                                                               

read -f vhdl ilc.vhd                                                           

                                                                               

set_dont_touch find(cell,{U0}) true                                            

set_attribute find(cell,{"U0"}) "LOGIC_OPTION" -type string "STYLE=WYSIWYG"    

                                                                               

compile                                                                        

write -f edif -hier -o ilc.edf

関連製品

本記事の適用対象: 1 製品

インテル® プログラマブル・デバイス

1

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。