[Suzaku:01357] Re: ISE での GPIO 使用方法について
Yusuke Nakamori
email@hidden
2009年 1月 22日 (木) 17:55:48 JST
中森です.
返信ありがとうございます.
> >>>>> EDK で追加した GPIO に ISE でのモジュールの出力を出力したいのですが
> >>>>> どのように行えばよろしいのでしょうか.
> >>>>> なお,開発環境は ISE 10.1.03 と EDK 10.1.03 です.
> >>>>>
> >> EDKにてExternal PortsにGPIOのピンを書いておくと、
> >> サブモジュール化した時にそのGPIOのピンが増えていると思うので、
> >> それに接続して下さい。
> >>
> >> 例 top.vhd
> >> ---------------------------------------------------
> >> entity top is
> >> port (
> >> ・
> >> ・
> >> nSW : in std_logic_vector(0 to 2)
> >> );
> >> end top;
> >>
> >> architecture IMP of top is
> >> component xps_proj is
> >> port (
> >> ・
> >> ・
> >> GPIO : in std_logic_vector(0 to 2) -- 追加したGPIO
> >> );
> >> end component;
> >>
> >> begin
> >> xps_proj_i : xps_proj
> >> port map (
> >> ・
> >> ・
> >> GPIO => GPIO -- 追加したGPIO
> >> );
> >>
> >> GPIO <= not nSW;
> >> ----------------------------------------------------
> >>
> >> 例 xps_proj.ucf
> >> ----------------------------------------------------
> >> ・
> >> ・
> >> NET "nSW<0>" LOC = "A14" | IOSTANDARD = LVCMOS33;
> >> NET "nSW<1>" LOC = "B14" | IOSTANDARD = LVCMOS33;
> >> NET "nSW<2>" LOC = "A13" | IOSTANDARD = LVCMOS33;
> >> ----------------------------------------------------
> >>
> >
> > 上記の xps_proj 内のポートで使用しないポートはどのように処理すれば
> > よろしいでしょうか.そのまま Synthesize すると Undefind symbol の
> > エラーが出てしまうのですが.
> >
> > 御回答お願いします.
>
> 使用しないポートは
> port mapから消してしまえばいけるはず。
> それでもエラーがでるなら、componentのところからも
> 消してみてしまってください。
>
> もしくは適当な信号をsignalで定義して、
> 終端処理してしまってもよいと思います。
>
port map と component から使用しないポートを消したところ,
Synthesize することができました.
しかし,Implement Design を行うと,下記のようなエラーが
出てしまいました.この原因が分かりましたら教えていただけないでしょうか.
なお,xps_proj.ucf に余分な信号の Netlist が書いてあると大量にエラーが
出ましたので,xps_proj.ucf には下記の top.vhd のポートの Msclk ,rst ,
top_out の Netlist しか書いておりません.
top.vhd
---------------------------------------------------
entity top is
port (
Msclk : in std_logic;
rst : in std_logic;
top_out : out std_logic
);
end top;
また,エラーメッセージの原因を探ると,[Synthesize] の [Properties] の
[Xilinx Specific Options] の [Add I/O Buffers] をオフにすればいいと書いて
ありましたので,オフにして Implement Design を行ったところ,
同様のエラーが出ました.
エラーメッセージ
-----------------------------------------------------
ERROR:NgdBuild:770 - IBUF 'ocm_temac_cntlr/ibuf_29' and BUFG
'ocm_temac_cntlr/mii_tx_clk_0_ibufg' on net 'N2' are lined up in series.
Buffers of the same direction cannot be placed in series.
ERROR:NgdBuild:462 - input pad net 'N2' drives multiple buffers:
pin I on block
xps_proj_i/xps_proj_i/ocm_temac_cntlr/ocm_temac_cntlr/ibuf_29 with type IBUF,
pin I on block
xps_proj_i/xps_proj_i/ocm_temac_cntlr/ocm_temac_cntlr/mii_rx_dv_0_ibuf with
type IBUF,
pin I on block
xps_proj_i/xps_proj_i/ocm_temac_cntlr/ocm_temac_cntlr/mii_rx_er_0_ibuf with
type IBUF,
pin I on block
xps_proj_i/xps_proj_i/ocm_temac_cntlr/ocm_temac_cntlr/mii_rx_clk_0_ibufg with
type IBUFG,
pin I on block
xps_proj_i/xps_proj_i/ocm_temac_cntlr/ocm_temac_cntlr/mii_rxd_0_bus[3].mii_rx
d_0_ibuf with type IBUF,
pin I on block
xps_proj_i/xps_proj_i/ocm_temac_cntlr/ocm_temac_cntlr/mii_rxd_0_bus[2].mii_rx
d_0_ibuf with type IBUF,
pin I on block
xps_proj_i/xps_proj_i/ocm_temac_cntlr/ocm_temac_cntlr/mii_rxd_0_bus[1].mii_rx
d_0_ibuf with type IBUF,
pin I on block
xps_proj_i/xps_proj_i/ocm_temac_cntlr/ocm_temac_cntlr/mii_rxd_0_bus[0].mii_rx
d_0_ibuf with type IBUF
ERROR:NgdBuild:924 - input pad net 'N2' is driving non-buffer primitives:
pin G on block XST_GND with type GND,
pin CI on block delta_sigma_2/Madd_step1_addsub0000_cy<0> with type MUXCY,
pin CI on block delta_sigma_2/Madd_step1_addsub0000_xor<0> with type XORCY,
pin CI on block delta_sigma_2/Madd_step2_addsub0000_cy<0> with type MUXCY,
pin CI on block delta_sigma_2/Madd_step2_addsub0000_xor<0> with type XORCY,
pin C on block xps_proj_i/xps_proj_i/dcm_ddr_fx/dcm_ddr_fx/rsti with type
FD,
pin C on block xps_proj_i/xps_proj_i/dcm_ddr_fx/dcm_ddr_fx/reset_shift1
with type FDP,
pin C on block xps_proj_i/xps_proj_i/dcm_ddr_fx/dcm_ddr_fx/reset_shift2
with type FDP,
pin C on block xps_proj_i/xps_proj_i/dcm_ddr_fx/dcm_ddr_fx/reset_shift3
with type FDP,
pin C on block xps_proj_i/xps_proj_i/dcm_ddr_fx/dcm_ddr_fx/rsti2 with type
FDP,
pin D on block
xps_proj_i/xps_proj_i/reset_system/reset_system/SEQ/system_Reset_Req_d1 with
type FDS,
pin S on block
xps_proj_i/xps_proj_i/reset_system/reset_system/EXT_LPF/exr_d1 with type FDS,
pin D on block
xps_proj_i/xps_proj_i/reset_system/reset_system/EXT_LPF/exr_d1 with type FDS,
pin D on block
xps_proj_i/xps_proj_i/reset_system/reset_system/SEQ/chip_Reset_Req_d1 with
type FDS,
pin D on block
xps_proj_i/xps_proj_i/uart_console/uart_console/UARTLITE_CORE_I/UARTLITE_RX_I
/rx_1 with type FDS,
pin I1 on block
xps_proj_i/xps_proj_i/ppc405_system/ppc405_system/DBGC405DEBUGHALT_i1 with
type LUT2,
pin I1 on block
xps_proj_i/xps_proj_i/spi_cntlr/spi_cntlr/USER_LOGIC_I/spi_core_0/SPI_MISO_w_
SW0 with type LUT3,
pin I0 on block
xps_proj_i/xps_proj_i/spi_cntlr/spi_cntlr/USER_LOGIC_I/spi_core_0/SPI_MISO_w_
SW0 with type LUT3
suzaku メーリングリストの案内