Windows 10 Pro (v1909)
PYNQ-Z1 (Digilent) (以下、PYNQと表記)
PYNQ v2.5 Image
Vivado v2019.1 (64-bit)
概要
PYNQ-Z1に搭載のUSB UART(J14)をMicroBlazeだけのBlock Designに使用検討した。
使用できないようだ。
関連情報をここに記載しておく。
USB UART > MIO14とMIO15
PYNQ-Z1 Board Reference Manual(Revised April 13, 2017)には以下の図がある(p5)。
MIO14とMIO15ピンがUSB UARTのRX, TXになっていると理解した。
回路図
PYNQ-Z1の回路図(pynq-z1_sch.pdf)で確認をした。
IC20FのPS_MIO14_500とPS_MIO15_500が対応するピンのようだ。
- PS_MIO14_500 (C5) : UART_TXD_IN (USB UARTのRX)
- PS_MIO15_500 (C8) : UART_RXD_OUT (USB UARTのTX)
ピンとしてC5, C8が対応しているようだ。
MIOとは
ZynqはPSとPLから構成されます。PSにはCPUのほかにUART、I2C、GPIO等のペリフェラルがハードマクロIPとして搭載されています。これら専用のピン(IO)が用意されています。それがMIO(Multiplexed IO)です。ピン毎にどの機能に割り当てるかを選ぶことが出来るので「Multiplexed」となっています。STM32などのマイコンと同じです。
このMIOはPS専用です。...
PS専用のピン。そのためPLのI/O Portsでは選択できないと理解した。
MicroBlazeのBlock Designでは割り当てできない
https://qiita.com/7of9/items/32de37874cde4aa27be4#forum%E3%81%AE%E6%83%85%E5%A0%B1
でも見つけた情報にて、C14/D11のピンがPL用には使えないとあった。
PYNQ-Z1の場合は前述のようにC5
, C8
が該当のピンになるのだろう。
VivadoでRun Synthesis後にI/O PortsウィンドウにてC5
をAXI UART LiteのTXピンに指定しようとしたところ「C5 are invalid placements.
」となった (forumの記載と同じ状況だった)。
ビルトインのUSB UARTはPLから使えないということなのだろう。