Vivadoで外部ピンを若干追加してデザインを配置配線すると、次のような予想しないエラーがでました。
[Place 30-58] IO placement is infeasible. Number of unplaced terminals (1) is greater than number of available sites (0).
The following are banks with available pins:
IO Group: 0 with : SioStd: LVCMOS18 VCCO = 1.8 Termination: 0 TermDir: BiDi RangeId: 1 Drv: 12 has only 0 sites available on device, but needs 1 sites.
Term: SPI_io0_io
[Place 30-374] IO placer failed to find a solution
Below is the partial placement that can be analyzed to see if any constraint modifications will make the IO placement problem easier to solve.
エラーの原因
制約条件ファイルのコメントの書き方に問題がありました。次のように行の途中にコメントがあると、上記のようなエラーになります。
set_property IOSTANDARD LVCMOS33 [get_ports SPI_io0_io] # MOSI
よく確認すると、合成プロセスでも次のようなワーニングが出ていました。
[Common 17-161] Invalid option value '#' specified for 'objects'. ["constrs_1/new/const.xdc":27]
解決方法
コメントを別の行にするか、コメントの前に;を入れる必要があります。
set_property PACKAGE_PIN B11 [get_ports SPI_io0_io]; # MOSI
set_property PACKAGE_PIN A11 [get_ports SPI_io1_io]; # MISO