cpout引脚是干什么的_FPGA中差分信号的定义和使用(一)
做数字电路设计的朋友对差分信号的定义应该都不会太陌生,在当前比较流行的高速串行总线上,基本都是使用的差分信号。比如USB,PCIE,SATA等等。大多数的FPGA也都支持差分信号,甚至某些新型号的CPLD也开始支持差分信号了。
那么在FPGA中如何正确定义和使用差分信号呢?在这篇文章里,我们基于ALTERA公司的CYCLONE III系列的FPGA芯片,做一些讨论。
一,差分信号输出
我们先在设计中定义一个名字为DIF_OUT的输出信号。并将UART_CLK时钟赋给它(UART_CLK为串口时钟,大概为115.2kHz)。(该实验是在一个FPGA的项目上添加部分差分信号的设计来做的,会引用到原设计里的一些信号,但在介绍中,只会给出与差分信号实验相关的部分)如下面所示:
module FPGA_TOP(
……
DIF_OUT,
……);
……
output DIF_OUT;
……
assign DIF_OUT = UART_CLK;
endmodule
在设计里,DIF_OUT和其他变量的定义和赋值方式是一样的,没有任何的区别。如果需要将DIF_OUT当做差分信号输出的话,就必须在Pin Planner中对其I/O Standard进行定义。如下图所示,我们可以把I/O Standard定义为1.2V的单端输出信号。
我们也可以把I/O Standard定义为BUS_LVDS类型的信号,这个时候会出现什么情况呢?从下面的图可以看到,系统会在将DIF_OUT定义为Bus LVDS类型的同时,多添加一个DIF_OUT(n)的信号,并且根据DIF_OUT的location自动选定DIF_OUT(n)的location。在Differential Pair里,会显示这两个信号互为差分信号对,也就是说,这是一组差分信号。
那我们看一下这一组差分信号的输出电平。下面是在示波器上抓取的信号波形,可以看到二者的电平是相反的。
再看一下两者的电平值,可以看到,电平是0V,高电平是330mV左右。这是正常的差分信号的电平。
我们再通过实例讨论一下CYCLONE III中定义差分信号时的注意事项。
1. 差分信号对必须按照芯片的定义来配置。
FPGA芯片的管脚定义中,会给出哪两个IO可以当做一对差分信号来使用,如下图中,我们刚才使用了EP3C5E144 BANK3中的IO,DIFFIO_B11p(52)和IO,DIFFIO_B11n(53)来定义DIF_OUT这一对差分信号。
如果我们不这样定义呢,比如说定义DIF_OUT到Pin46上,看会出现什么情况。先定义DIF_OUT到Pin46上,I/O Standard暂且选为2.5V,如下图所示:
然后我们去看I/O Standard的下拉列表,根本就没有Bus LVDS的选项,也就是说,没有办法把这个信号定义为差分信号。如果我们先定义I/O Standard为Bus LVDS,然后去选择location到PIN_46,这个时候会出现下面的对话框,也就是说,没有办法定义这个pin为差分信号。
2. 差分信号所在BANK的IO参考电压(VCCIO)必须设定为2.5V
我们在BANK3添加DP_DATA[7]的信号,location选为PIN_38,I/O Standard选为3.3-V LVTTL(这就意味着BANK3的IO参考电压为3.3V),然后编译设计。软件会报告如下的错误(截图的原因,只给出Error的前半部分):
可以看出,差分信号需要的VCCIO是2.5V。
实际上软件并不知道在实际的系统上该BANK的VCCIO接的电源是多少,只要不定义该BANK的任一IO的I/O Standard为非2.5V的值,编译的时候都会认为该BANK的VCCIO是2.5V。至于说如果VCCIO接了非2.5V的电源,编译后的程序在FPGA上能不能正常工作就不太好讲了。唯一可以确认的是,我实验的结果是VCCIO接3.3V的话差分信号可以正常工作。
3. Location上紧邻着某一对差分信号的信号不能作为单端信号使用
我们把DP_SEL[0]信号的location设定到PIN_51,I/O Standard设定为2.5V,重新编译系统,会看到下面的Error:
也就是说,DP_SEL[0]这个单端信号离DIF_OUT这对差分信号太近了,不能这样分配。我们把DP_SEL[0]定义到BANK3中的location PIN_49上,重新综合,可以发现,软件没有报错,在Pin Planner中,也正确定义了这三个信号,如下图所示:
如果我们选择DP_SEL[0]的location为PIN_50的话,软件仍然会报上面的错误,也就是说,同BANK中,location离差分信号距离小于等于2的信号不能用作单端信号
cpout引脚是干什么的_FPGA中差分信号的定义和使用(一)相关推荐
- cpout引脚是干什么的_电源IC欠压保护(Brown-out)功能介绍
描述 本文来确定本设计案例中使用的电源IC的BO引脚相关的元器件常数.BO引脚是用来设置电源IC BD7682FJ的欠压保护功能的引脚. 什么是欠压保护(Brown-out)功能 欠压保护功能是当输入 ...
- cpout引脚是干什么的_单片机引脚的定义与功能详解
1 产品简介 HC89F003 是一颗采用高频低功耗 CMOS 工艺设计开发的增强型 8 位单片机,内部有 16K Bytes FLASH 程序存储器,256 Bytes IRAM 和 256 Byt ...
- cpout引脚是干什么的_A3936芯片引脚图
A3936芯片采用44脚PLCC封装型式,其引脚排列如图l所示.各引脚的功能如下: 引脚1.2.11.12.13.22.23.24.33.34.35.44(GND):接地端; 引脚3.4.5.6.7. ...
- PCB高频电路设计中的差分信号设计
目录 1.差分信号的定义 2.如何布置差分线路? 3.微带线和带状线的概念 4.布线中常用的匹配方法 1.差分信号的定义 什么是差分布线:差分布线主要是区别传统的信号线对应一根地线的信号传输方式,差分 ...
- 差分信号_形象解读差分信号,它比单端信号强在哪?
一个差分信号是用一个数值来表示两个物理量之间的差异.从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的. 电子学习资料大礼包mp.weixin.qq.com 一个差分 ...
- (PCB系列七)PCB差分信号布线及其要点
1.差分信号的定义 差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反.在这两根线上的传输的信号就是差分信号.信号接收端 ...
- 眼图 非差分线_利用眼图解决USB在布线中的信号完整性问题
EDA365欢迎您登录! 您需要 登录 才可以下载或查看,没有帐号?注册 x 本帖最后由 lifree 于 2020-2-5 14:37 编辑 2 ]3 p' D% B4 \ {/ n # V&am ...
- 【Rényi差分隐私和零集中差分隐私(差分隐私变体)代码实现】差分隐私代码实现系列(九)
差分隐私代码实现系列(九) 写在前面的话 回顾 差分隐私的变体 发明变体的动机 最大散度和Rényi散度 Rényi差分隐私 零集中差分隐私 差分隐私变体的组合情况 总结 写在前面的话 书上学来终觉浅 ...
- altium 网口差分走线长度_Altium Design 中差分走线的设置
1.在原理图中,将要设置的差分对的网络名称的前缀取相同的名字,在前缀后面加后缀分别为_N 和_P,并且加上差分对指示.具体操作如下: 2.在原理图界面下,单击 Place>>Directi ...
最新文章
- 【基础知识】如何在浏览器中查找元素属性节点
- Jerry开发的SAP note工具
- 清华大学成立人工智能学堂班,土木类、电子信息类实行全程大类培养
- python os.path模块常用方法详解
- php获取sessionstorage,关于PHP session 存储方式的详细介绍
- IOException: Broken pipe
- sql——手机号码归属地、身份证前六位归属地、省市区级联
- 0_freeCAD_介绍,下载,语言设置
- 教务管理系统设计与实现
- 斗地主服务器维护中,天天斗地主真人版进不了怎么办 登录不了解决方案
- 计算机毕业设计选题建议
- 运用知识图谱技术,赋能多领域应用 ——“未来杯”AI学术联赛总决赛暨颁奖典礼圆满落幕...
- TA 认识 unity shader最基本的代码结构与书写01
- 计算机操作员 word2003 设置表格的跨页断行属性,不可以,word中的表格属性不勾选“允许跨页断行”为什么还是断行了?-为什么word跨页表格,word表格不能跨页...
- PATH,PYTHONPATH 与sys.path的区别
- 王者荣耀-数模论文分享(虽然结果我自己都不信)
- Unity3d 实现落叶飘效果
- linux 挂载4t移动硬盘,Linux挂载移动硬盘
- 唐伯虎点秋香之不共戴天铃声 唐伯虎点秋香之不共戴天手机铃声...
- 图的存储__十字链表法和邻接多重表法