”
Zynq-7000(ZC702)のチュートリアル2をやってみた5(実機でテスト)”でSW5やSW7をプッシュすることでDS23(LED) を消灯、点灯させたが、その時のXPS上でのZynqの設定を見てみることにした。
・まずはDS23のLEDからどこにつながっているか調べてみた。ZC702の回路図を見るとDS23はG7に接続されている。UCFを見ると、PS_MIO10_500だそうだ。これはXPSのZynqタブのI/O Peripherals をクリックすると出てくるZynq PS MIO Configurations によるとgpio[10]だそうだ。これは、
下にZynqタブの図を示す。ピンクの矢印のI/O Peripherals をクリックする。

Zynq PS MIO Configurations のMIO 10、gpio[10] がDS23(LED) に接続されている。

SDKのxparameter.h では、XPAR_PS7_GPIO_0_BASEADDRの10番目なのかもしれない?
/* Definitions for peripheral PS7_GPIO_0 */
#define XPAR_PS7_GPIO_0_DEVICE_ID 0
#define XPAR_PS7_GPIO_0_BASEADDR 0xE000A000
#define XPAR_PS7_GPIO_0_HIGHADDR 0xE000AFFF
・ZynqのMIO (multiplexed I/O) に接続されているDS23(LED) と違って、SW7はEMIO (extended multiplexed I/O) に接続されている。EMIOはPL部分のピンを使用してZynq内のARMプロセッサにGPIOとして使用させる方式のことだ。設定は”
Zynq-7000(ZC702)のチュートリアル2をやってみた3(PSの設定、インプリメント)”で行なっている。XPSのZynqタブで、緑色の32b GP AXI Master Portsボタンをクリックして出てきたprocessing_system7のダイアログで行なっている。ZynqのF19ピンにアサインされている。SW7もXPAR_PS7_GPIO_0_BASEADDR の中に入っているかもしれない?

# Connect to Push Button "SW7"
NET processing_system7_0_GPIO_pin IOSTANDARD=LVCMOS25 | LOC=F19;
・SW5はPL部分のAXIバスにAXI GPIOモジュールを接続してそこからSW5に結んでいる。チュートリアルの20ページ、Figure 3-1: Block Diagramを下に引用する。

# Connect to Push Button "SW5"
NET axi_gpio_0_GPIO_IO_pin IOSTANDARD=LVCMOS25 | LOC=G19;
SDKのxparameter.h での記述を下に示す。
/* Definitions for peripheral AXI_GPIO_0 */
#define XPAR_AXI_GPIO_0_BASEADDR 0x41200000
#define XPAR_AXI_GPIO_0_HIGHADDR 0x4120FFFF
#define XPAR_AXI_GPIO_0_DEVICE_ID 0
#define XPAR_AXI_GPIO_0_INTERRUPT_PRESENT 0
#define XPAR_AXI_GPIO_0_IS_DUAL 0
・XPSのZynqタブのClock Generation をクリックする。

ARM PLLクロックが666MHz、DDR PLLが533MHzというのがわかる。PLのクロックは50MHzだ。

・XPSのZynqタブのMemoryInterface をクリックした。

DDR3 SDRAMコントローラに設定してあった。データ幅は32ビット、動作周波数533MHz、DDR3-1066 だ。なかなか凄い、さすがハードマクロ。

・XPSのZynqタブのIRQをクリックした。

axi_timer_0 がIRQに接続されているのが見えた。

大体、チュートリアル2で使用したZC702のスイッチ、LEDがどのように接続されているかがわかった。
- 2012年07月15日 07:13 |
- Zynq
-
| トラックバック:0
-
| コメント:0