PL通过EMIO方式外接PHY芯片的实验
2017-10-26 18:45
405 查看
首先设置EMIO方式引出ETHE1
![](http://img.blog.csdn.net/20171026184504049?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWN1cHJv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
之后我们看到ZYNQ模块生长出了GMII接口如下图:
![](http://img.blog.csdn.net/20171026184828917?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWN1cHJv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
主要是三部分:
1,左边的ENET1_EXT_INITN是外部中断的输入。
2,MIO主控部分,时钟是输出的,数据是双向的,所以有一个方向选择T。我们可以简单做一个三态门实现。
3,GMII接口部分[注1]。
生成HDL文件之后接着我们从原理图上找到这些引脚的对应,做成XDC约束文件,主要部分如下:
![](http://img.blog.csdn.net/20171026191410697)
#set_property -dict {PACKAGE_PIN Y11 IOSTANDARD LVCMOS33} [get_ports pmod_ja1];
set_property -dict {PACKAGE_PIN AD10 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[0]}];
set_property -dict {PACKAGE_PIN AC12 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[1]}];
set_property -dict {PACKAGE_PIN AD11 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[2]}];
set_property -dict {PACKAGE_PIN AD13 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[3]}];
set_property -dict {PACKAGE_PIN AB15 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[4]}];
set_property -dict {PACKAGE_PIN AB14 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[5]}];
set_property -dict {PACKAGE_PIN AE16 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[6]}];
set_property -dict {PACKAGE_PIN AE15 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[7]}];
set_property -dict {PACKAGE_PIN AD14 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[0]}];
set_property -dict {PACKAGE_PIN Y12 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[1]}];
set_property -dict {PACKAGE_PIN Y11 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[2]}];
set_property -dict {PACKAGE_PIN W13 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[3]}];
set_property -dict {PACKAGE_PIN Y13 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[4]}];
set_property -dict {PACKAGE_PIN W16 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[5]}];
set_property -dict {PACKAGE_PIN W15 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[6]}];
set_property -dict {PACKAGE_PIN Y17 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[7]}];
set_property -dict {PACKAGE_PIN AC14 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_TX_CLK];
set_property -dict {PACKAGE_PIN AC13 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_RX_CLK];
set_property -dict {PACKAGE_PIN AE10 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_RX_DV];
set_property -dict {PACKAGE_PIN Y10 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_RX_ER];
set_property -dict {PACKAGE_PIN AA10 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_TX_EN];
set_property -dict {PACKAGE_PIN AA17 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_TX_ER];
set_property -dict {PACKAGE_PIN Y15 IOSTANDARD LVCMOS33} [get_ports ENET1_MDIO_MC];
set_property -dict {PACKAGE_PIN Y16 IOSTANDARD LVCMOS33} [get_ports ENET1_MDIO_MD];
注1 : 关于GMII接口可以学习https://wenku.baidu.com/view/6d03c124bd64783e09122bab.html
之后我们看到ZYNQ模块生长出了GMII接口如下图:
主要是三部分:
1,左边的ENET1_EXT_INITN是外部中断的输入。
2,MIO主控部分,时钟是输出的,数据是双向的,所以有一个方向选择T。我们可以简单做一个三态门实现。
3,GMII接口部分[注1]。
生成HDL文件之后接着我们从原理图上找到这些引脚的对应,做成XDC约束文件,主要部分如下:
#set_property -dict {PACKAGE_PIN Y11 IOSTANDARD LVCMOS33} [get_ports pmod_ja1];
set_property -dict {PACKAGE_PIN AD10 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[0]}];
set_property -dict {PACKAGE_PIN AC12 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[1]}];
set_property -dict {PACKAGE_PIN AD11 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[2]}];
set_property -dict {PACKAGE_PIN AD13 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[3]}];
set_property -dict {PACKAGE_PIN AB15 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[4]}];
set_property -dict {PACKAGE_PIN AB14 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[5]}];
set_property -dict {PACKAGE_PIN AE16 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[6]}];
set_property -dict {PACKAGE_PIN AE15 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_RXD[7]}];
set_property -dict {PACKAGE_PIN AD14 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[0]}];
set_property -dict {PACKAGE_PIN Y12 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[1]}];
set_property -dict {PACKAGE_PIN Y11 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[2]}];
set_property -dict {PACKAGE_PIN W13 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[3]}];
set_property -dict {PACKAGE_PIN Y13 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[4]}];
set_property -dict {PACKAGE_PIN W16 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[5]}];
set_property -dict {PACKAGE_PIN W15 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[6]}];
set_property -dict {PACKAGE_PIN Y17 IOSTANDARD LVCMOS33} [get_ports {ENET1_GMII_TXD[7]}];
set_property -dict {PACKAGE_PIN AC14 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_TX_CLK];
set_property -dict {PACKAGE_PIN AC13 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_RX_CLK];
set_property -dict {PACKAGE_PIN AE10 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_RX_DV];
set_property -dict {PACKAGE_PIN Y10 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_RX_ER];
set_property -dict {PACKAGE_PIN AA10 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_TX_EN];
set_property -dict {PACKAGE_PIN AA17 IOSTANDARD LVCMOS33} [get_ports ENET1_GMII_TX_ER];
set_property -dict {PACKAGE_PIN Y15 IOSTANDARD LVCMOS33} [get_ports ENET1_MDIO_MC];
set_property -dict {PACKAGE_PIN Y16 IOSTANDARD LVCMOS33} [get_ports ENET1_MDIO_MD];
注1 : 关于GMII接口可以学习https://wenku.baidu.com/view/6d03c124bd64783e09122bab.html
相关文章推荐
- Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性
- 第三个实验 通过中断方式让按键控股按键控制LED
- Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性(二)
- Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性(二)
- 通过URLConnection发送序列化对象的方式实验分布式系统之间的数据交互
- 实验 10 指针2 (2)为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。变换规则是:小写字母z变换成为a,其它字符变换成为该字符ASCII码顺序后1位的字符,比如o变换为p。
- Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性
- PL/SQL通过修改配置文件的方式实现数据库的连接听语音
- Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性
- pl/sql通过修改配置文件的方式实现数据库的连接
- Python:通过获取淘宝账号和密码的实验,来看登陆方式选择的重要性
- PL/SQL通过修改配置文件的方式实现数据库的连接
- VMware workstation -- 实验环境搭建系列(三) 使用Host-Only方式组建虚拟局域网
- IOS通过post方式发送图片
- Sql server定时执行某个sql 通过Windows 计划任务(非代理Job方式)
- Spring 通过Autowired 和 Context.getBean()方式拿到的不是同一个Bean
- JSP通过JDBC连接各种数据库的连接方式总结。(MySql、Orcal、SqlServer、DB2等数据库)
- SecureCRT通过密钥认证方式远程登录linux服务器
- WebService学习笔记系列之一----通过JAX-WS的方式发布WebService