zynq ebaz4205百兆网口通信

第一章 zynq学习 ebaz4205百兆网口通信



前言

闲鱼上50块钱淘的矿板,用来学习zynq再合适不过啦


一、工程搭建

1.芯片选择xc7z010clg400-l
在这里插入图片描述
2.创建block design
在这里插入图片描述
3.配置串口
在这里插入图片描述
4.配置百兆网口EMIO
在这里插入图片描述
5.SD卡配置
在这里插入图片描述
6.LED配置
在这里插入图片描述
7.NAND flash配置
在这里插入图片描述
timing设置
在这里插入图片描述
8.时钟配置
在这里插入图片描述
9.DDR配置
在这里插入图片描述
10.block design
在这里插入图片描述

二、代码

1.顶层代码

代码如下(示例):

	wire 			FCLK_CLK0_0;
	wire 			FCLK_RESET0_N_0;
	
	wire	[7:0]	txd;
	
	assign ENET0_GMII_TXD_0 = txd[3:0];
	
	design_1_wrapper U_DESIGN_1_WRAPPER(
		.DDR_0_addr                 ( DDR_0_addr                 ),	
		.DDR_0_ba                   ( DDR_0_ba                   ),	
		.DDR_0_cas_n                ( DDR_0_cas_n                ),	
		.DDR_0_ck_n                 ( DDR_0_ck_n                 ),	
		.DDR_0_ck_p                 ( DDR_0_ck_p                 ),	
		.DDR_0_cke                  ( DDR_0_cke                  ),	
		.DDR_0_cs_n                 ( DDR_0_cs_n                 ),	
		.DDR_0_dm                   ( DDR_0_dm                   ),	
		.DDR_0_dq                   ( DDR_0_dq                   ),	
		.DDR_0_dqs_n                ( DDR_0_dqs_n                ),	
		.DDR_0_dqs_p                ( DDR_0_dqs_p                ),	
		.DDR_0_odt                  ( DDR_0_odt                  ),	
		.DDR_0_ras_n                ( DDR_0_ras_n                ),	
		.DDR_0_reset_n              ( DDR_0_reset_n              ),	
		.DDR_0_we_n                 ( DDR_0_we_n                 ),	
		.ENET0_GMII_RXD_0           ( {4'd0,ENET0_GMII_RXD_0}    ),	
		.ENET0_GMII_RX_CLK_0        ( ENET0_GMII_RX_CLK_0        ),	
		.ENET0_GMII_RX_DV_0         ( ENET0_GMII_RX_DV_0         ),	
		.ENET0_GMII_TXD_0           ( txd                        ),	
		.ENET0_GMII_TX_CLK_0        ( ENET0_GMII_TX_CLK_0        ),	
		.ENET0_GMII_TX_EN_0         ( ENET0_GMII_TX_EN_0         ),	
		.FCLK_CLK0_0                ( FCLK_CLK0_0                ),	
		.FCLK_RESET0_N_0            ( FCLK_RESET0_N_0            ),	
		.LED_tri_io                 ( LED_tri_io                 ),	
		.MDIO_ETHERNET_0_0_mdc      ( MDIO_ETHERNET_0_0_mdc      ),	
		.MDIO_ETHERNET_0_0_mdio_io  ( MDIO_ETHERNET_0_0_mdio_io  ) 	
	);

2.约束

代码如下(示例):

#ETH
set_property IOSTANDARD LVCMOS33 [get_ports ENET0_GMII_RX_CLK_0]
set_property PACKAGE_PIN U14 [get_ports ENET0_GMII_RX_CLK_0]
set_property IOSTANDARD LVCMOS33 [get_ports ENET0_GMII_RX_DV_0]
set_property PACKAGE_PIN W16 [get_ports ENET0_GMII_RX_DV_0]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_RXD_0[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_RXD_0[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_RXD_0[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_RXD_0[3]}]
set_property PACKAGE_PIN Y16 [get_ports {ENET0_GMII_RXD_0[0]}]
set_property PACKAGE_PIN V16 [get_ports {ENET0_GMII_RXD_0[1]}]
set_property PACKAGE_PIN V17 [get_ports {ENET0_GMII_RXD_0[2]}]
set_property PACKAGE_PIN Y17 [get_ports {ENET0_GMII_RXD_0[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports ENET0_GMII_TX_CLK_0]
set_property PACKAGE_PIN U15 [get_ports ENET0_GMII_TX_CLK_0]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_TX_EN_0[0]}]
set_property PACKAGE_PIN W19 [get_ports {ENET0_GMII_TX_EN_0[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_TXD_0[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_TXD_0[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_TXD_0[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_TXD_0[3]}]
set_property PACKAGE_PIN W18 [get_ports {ENET0_GMII_TXD_0[0]}]
set_property PACKAGE_PIN Y18 [get_ports {ENET0_GMII_TXD_0[1]}]
set_property PACKAGE_PIN V18 [get_ports {ENET0_GMII_TXD_0[2]}]
set_property PACKAGE_PIN Y19 [get_ports {ENET0_GMII_TXD_0[3]}]
set_property IOSTANDARD LVCMOS33 [get_ports MDIO_ETHERNET_0_0_mdc]
set_property PACKAGE_PIN W15 [get_ports MDIO_ETHERNET_0_0_mdc]
set_property IOSTANDARD LVCMOS33 [get_ports MDIO_ETHERNET_0_0_mdio_io]
set_property PACKAGE_PIN Y14 [get_ports MDIO_ETHERNET_0_0_mdio_io]

#LED
set_property IOSTANDARD LVCMOS33 [get_ports LED_tri_io[0]]
set_property PACKAGE_PIN U19 [get_ports LED_tri_io[0]]
set_property IOSTANDARD LVCMOS33 [get_ports LED_tri_io[1]]
set_property PACKAGE_PIN T19 [get_ports LED_tri_io[1]]


三、SDK配置

1…导出硬件平台
在这里插入图片描述
在这里插入图片描述
2.新建硬件平台
在这里插入图片描述
添加xsa文件
在这里插入图片描述
选择lwIp
在这里插入图片描述
编译
在这里插入图片描述

找到main.c,这里是板卡IP;电脑主机也要设置为同网段
在这里插入图片描述
下载程序
在这里插入图片描述

四、结果展示

在这里插入图片描述
ping测试
在这里插入图片描述

总结

以上就是今天要讲的内容,本文仅仅简单介绍了zynq基础平台的搭建和xilinx例程使用,后面将基于该工程探索更多的玩法,敬请期待

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值