最近在把Quartus Prime 15.工程移植到Vivado 2019.1.还有很多地方需要改变。首先记住差异信号FPGA定义和配置收发管脚。LVDS以信号为例。
在7 Series FPGA & ZYNQ-7000 All Programmable SoC Library Guide for HDL Design(UG768)和7 Series FPGA SelectIO Resource(UG471)文档给出HDL管脚分配文件的方法:
用OBUFDS原语(Primitive)单端转差分输出可以用来实际使用这个原语FPGA IO Bank使用了一个LVDS发送器。
对应的,用IBUFDS差分信号可以接收原语,原语在IO Bank使用了一个LVDS接收器。
在Vivado环境中Flow Navigator --- PROJECT MANAGER --- Language Templates上述原语分别如下:
OBUFDS
OBUFDS #(
.IOSTANDARD("DEFAULT"), // Specify the output I/O standard
.SLEW("SLOW") // Specify the output slew rate
) OBUFDS_inst(
.O(O), // Diff_p output (connect directly to top-level port)
.OB(OB), // Diff_n output (connect directly to top-level port)
.I(I) // Buffer input
);
IBUFDS
IBUFDS #(
.DIFF_TERM("FALSE"), // Differential Termination
.IBUF_LOW_PWR("TRUE"), // Low power="TRUE", Highest performance="FALSE"
.IOSTANDARD("DEFAULT") // Specify the input I/O standard
) IBUFDS_inst(
.O(O), // Buffer output
.I(I), // Diff_p buffer input (connect directly to top-level port)
.IB(IB) // Diff_n buffer input (connect directly to top-level port)
);
只贴在上面Verilog版本,VHDL请自己实验版本。
从语法上看,上述原语例化LVDSI端口是输入发送器和接收器,IB端口是I的互补差分信号输入,O端口是输出,OB端口是O端口的互补差分输出。
在模块名和例化名之间,有一些由井号#领导的参数,与差分收发器具体实现相关参数,如具体参数IO电平规格(LVDS,DIFF_HSTL等等),输出差分信号的压摆率(高/低),接收器端内的负载电阻,降低接收器的能耗等参数。
***************************************************************************************************************************************************************************************
和Quartus环境差异IO配置相比,Xilinx在设计过程中需要HDL文件中添加了更多的东西,增加了严谨性,但失去了一定的便利性:)
xilinx Vivado详细介绍(2):创建工程、添加文件、综合、实现、管脚约束、生成比特流文件、烧写程序、硬件验证
xilinx Vivado详细介绍(2):创建工程.添加文件.综合.实现.管脚约束.生成比特流文件.烧写程序.硬件验证 Author:zhangxianhe 新建工程 打开Vivado软件,直接 ...
Xilinx Vivado详细介绍(1):创建项目,编写代码,模拟行为
Xilinx Vivado详细介绍介绍(1):创建工程.编写代码.行为仿真 Author:zhangxianhe 新建工程 打开Vivado点击欢迎界面的软件Create New Projec ...
控制分片分配Elasticsearch分片和副本的分配
ES集群中的索引可多个分片组成,每个分片可以有多个副本.通过将单个索引分成多个部分,我们可以处理不能在单个服务器上运行的大索引。简单地说,索引的大小太大,导致效率问题.不能运 ...
【分片重新分配】Elasticsearch通过reroute api分片重新分配
elasticsearch可以通过reroute api手动分配索引分片. 但是,如果你想完全手动,你必须先把它拿走cluster.routing.allocation.disable_allocation ...
Xilinx Vivado详细介绍(2):综合、实现、管脚分配、时钟设置、烧写
前一篇文章介绍了从新建工程到编写代码的行为模拟。本文继续介绍. 修改器件型号 新建工程时选择设备型号。如果新建工程后需要修改型号,可以选择菜单Tools - Project Setting ...
(Xilinx)FPGA中LVDS实现差异高速传输
https://wenku.baidu.com/view/24e8bad86f1aff00bed51ef8.html
Xilinx Vivado详细介绍(5):调用用户自定义包装IP核
Zedboard OLED Display Controller IP v1 介绍 Author:zhangxianhe 本文档提供了快速添加,连接和使用ZedboardOLED v1.0 IP内核的 ...
Xilinx Vivado使用详细介绍(4):Zedboard+vivado流水灯(加SDK)
Vivado zedboard一开始学流水灯 Author:zhangxianhe 环境:vivado 2016.3(已验证适用于2015年.4) 开发板:Zedboard version xc7z020 ...
随机推荐
enumerate()
今天我们学一个单词 enumerate 后面加括号 他不是单词,那是什么? 来看一下 enumerate() a = ('htc', 'oppo', 'vivo', 'huawei', 'mi' ...
notepad++快捷键大全
Ctrl C 复制 Ctrl X 剪切 Ctrl V 粘贴 Ctrl Z 撤消 Ctrl Y 恢复 Ctrl A 全选 Ctrl F 启动键搜索对话框 Ctrl H 查找/替换对话框 Ctrl D 复 ...
iOS10 升级兼容性备参考
最近提交的审核不合格,然后iOS10上运行崩溃 .然后需要处理崩溃的问题,晚上找,收集起来. 便于后续检查和使用. 以下参考链接特别有用: http://blog.csdn.net/gbking/ ...
RGB颜色查询对照表
RGB颜色查询对照表 RGB颜色对照表 #FFFFFF2015-02-05 #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA #FFFAF0 #FFF ...
web前端之 CSS
CSS概述 CSS 指层叠样式表 (Cascading Style Sheets),说白了就是给html代码穿上漂亮的衣服,让页面看起来不错 CSS存在形式 1.设置标签属性,优先级较高 代码如下 ...
PHP跟踪浏览器上的调试方法和使用ChromePhp、FirePHP的简单介绍
之前用ThinkPHP时发现有个 trace 函数可以跟踪调试,感觉很有趣,在网上搜索类似的东西,发现ChromePhp ,以前没想过这样调试。PHP 感觉很方便,很有用. Thin ...
poj-2001(字典树)
问题:给你一堆字符串,我们定义一个字符串可以缩写成一个字符串(必须是原始字符串的前缀),问你每个字符串可以识别什么前缀,不能识别意思(ab,abc我们缩写成ab): 解题思路:可以用字典树解决,我 ...
Android studio 一个项目引入另一个项目作为Libary
1.在我们开发Android在项目中,有时需要引用一个项目作为另一个项目的工具,因此需要配置MyLibrary到MyApplication作为一个module. 在截图上直接步骤: 1. ...
mysql-5.7.24 在centos7安装
搭建环境:mysql5.7.24 CentOS-7-x86_64-DVD-1804.iso 桌面版 1. 进入官网:https://dev.mysql.com/downloads/mysql/ 该 ...