[Suzaku:01936] Re: IPコアの合成

mio email@hidden
2010年 9月 1日 (水) 10:24:02 JST


中島です。

(2010/08/31 20:27), gs09055 wrote:
>   谷敷です。
> 
> OPB、XCLバスの信号すべてをEDK側でExternalし(全部で29本くらい)
> 
> という作業ですが,mhs,mss,ucfをopb_siv00付属のpdf通りに書き換えると
> すでにExternal portに追加されているようですが他に手作業で
> 追加しなければいけない物はありますか?
> 

例えば、XCLバスをISEのほうにひっぱりだす場合、
MHSファイルにて以下のような感じでExternalしなきゃいけません。

----------------------------------
PARAMETER VERSION = 2.1.0


 PORT clk_in = clk_in, DIR = I, SIGIS = CLK
 PORT SYS_Rst = SYS_Rst, DIR = I
 PORT SDRAM_CASn = SDRAM_CASn_w, DIR = O
 PORT SDRAM_CASn_2o = SDRAM_CASn_w, DIR = O
 PORT SDRAM_WEn = SDRAM_WEn_w, DIR = O
 PORT SDRAM_WEn_2o = SDRAM_WEn_w, DIR = O
 # 途中省略
 PORT MCH0_Access_Control = MCH0_Access_Control_w, DIR = I
 PORT MCH0_Access_Data = MCH0_Access_Data_w, DIR = I, VEC = [0:31]
 PORT MCH0_Access_Write = MCH0_Access_Write_w, DIR = I
 PORT MCH0_Access_Full = MCH0_Access_Full_w, DIR = O
 PORT MCH0_ReadData_Control = MCH0_ReadData_Control_w, DIR = O
 PORT MCH0_ReadData_Data = MCH0_ReadData_Data_w, DIR = O, VEC = [0:31]
 PORT MCH0_ReadData_Read = MCH0_ReadData_Read_w, DIR = I
 PORT MCH0_ReadData_Exists = MCH0_ReadData_Exists_w, DIR = O
 PORT MCH1_Access_Control = MCH1_Access_Control_w, DIR = I
 PORT MCH1_Access_Data = MCH1_Access_Data_w, DIR = I, VEC = [0:31]
 PORT MCH1_Access_Write = MCH1_Access_Write_w, DIR = I
 PORT MCH1_Access_Full = MCH1_Access_Full_w, DIR = O
 PORT MCH1_ReadData_Control = MCH1_ReadData_Control_w, DIR = O
 PORT MCH1_ReadData_Data = MCH1_ReadData_Data_w, DIR = O, VEC = [0:31]
 PORT MCH1_ReadData_Read = MCH1_ReadData_Read_w, DIR = I
 PORT MCH1_ReadData_Exists = MCH1_ReadData_Exists_w, DIR = O


BEGIN mch_opb_sdram
 PARAMETER INSTANCE = sdram_controller
 # 途中省略
 PORT MCH0_Access_Control = MCH0_Access_Control_w
 PORT MCH0_Access_Data = MCH0_Access_Data_w
 PORT MCH0_Access_Write = MCH0_Access_Write_w
 PORT MCH0_Access_Full = MCH0_Access_Full_w
 PORT MCH0_ReadData_Control = MCH0_ReadData_Control_w
 PORT MCH0_ReadData_Data = MCH0_ReadData_Data_w
 PORT MCH0_ReadData_Read = MCH0_ReadData_Read_w
 PORT MCH0_ReadData_Exists = MCH0_ReadData_Exists_w
 PORT MCH1_Access_Control = MCH1_Access_Control_w
 PORT MCH1_Access_Data = MCH1_Access_Data_w
 PORT MCH1_Access_Write = MCH1_Access_Write_w
 PORT MCH1_Access_Full = MCH1_Access_Full_w
 PORT MCH1_ReadData_Control = MCH1_ReadData_Control_w
 PORT MCH1_ReadData_Data = MCH1_ReadData_Data_w
 PORT MCH1_ReadData_Read = MCH1_ReadData_Read_w
 PORT MCH1_ReadData_Exists = MCH1_ReadData_Exists_w
END
-----------------------------------------------------

OPBバスもひっぱりだそうと思ったのですが、
なんだか簡単にはいかなさそうでした。。

とても初めにもどってしまうのですが、
ISE側で接続するのは大変なような気がしてきました。
EDKだけで完結したほうが、今回は簡単かも・・・。
もし、方向転換するならば、初めにエラーがたくさんでていた、
opb_siv00_v1_00_cを書き換えた物をみせてもらえませんか??

IPコアまるごとあれば、一番よいのですが、opb_siv00.vhd、user_logic.vhd、
opb_siv00_v2_1_0.paoあたりがあればアドバイスできると思います。
(どれだけ書き換えたかにもよりますが・・・。)


> 
> 
> (2010/08/23 14:02), mio wrote:
>> 中島です。
>>
>> ↓どっちの方法をとったとしても
>> 同じ結果が得られるだけだと思います。
>> 違うとしたら、どっちかが何か間違ってます。
>>
>> (2010/08/23 12:18), gs09055 wrote:
>>> 谷敷です。お世話になっております。
>>>
>>> "そのまま書いていく"
>>> というのはopb_siv00.vhdの内容をxps_proj_stubの中に
>>> コピーして行くことで,
>>>
>>> "元のファイルのまま"
>>> というのはop_siv00_v1_00_cをISEで読み込んでコンパイル
>>> することです。
>>>
>> OPB SIV00をISE側ですべて接続するのは結構大変だと思います。
>>
>> OPB SIV00のデータシートのBlock Diagramをみてもらえますか?
>> OPB SIV00はOPB、XCLバスと接続しています。
>>
>> ですので、IPコアをEDK側で接続せずにISE側で接続する場合、
>> OPB、XCLバスの信号すべてをEDK側でExternalし(全部で29本くらい)
>> ISE側で接続する必要があります。
>>
>> エラーがでているのは、
>> この作業がうまくいっていないのではないかと思います。
>>
>> ちなみに私はXCLバスはExternalしたことありますが、
>> OPBバスはExternalしたことありません。
>>
>> 私がISE側で接続するとしたら、OPB_IPIFとRegister(v_register)部分は、IPコ
>> アを作成し、EDK側で接続すると思います。
>>




suzaku メーリングリストの案内