FPGA管腳分配时需注意的一些事项.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA管腳分配时需注意的一些事项

?FPGA管脚分配时需注意的一些事项(以xilinx xc4vsx55为例) 平台:XC4VSX55??ISE10.1 ? ? 设计过FPGA的原理图,看FPGA的手册,说管脚的分配问题,如时钟管脚要用GC类管脚,而且单端时钟输入时要用P类型的管脚,不能用N类型管脚等等。 一直以来都没有试验过,今天试验一把,以求各种验证。 ? 1)GC类全局时钟管脚是否可用作普通IO使用? 所谓GC类管脚,就是在管脚的称是诸如IO_L1P_GC_LC等带有GC的管脚。其实手册中说的是GC类管脚可以用作IO的,但在《Xilinx FPGA开发实用教程》(清华出版社)574页倒数第八行提到:“所有从全局时钟管脚输入的信号必须经过IBUF元,否则在布局布线时会报错”,于是今天我试了一下,将某一GC类管脚分配给一个普通的输入口(也试验了分配给一个普通的输出口),经布局布线后,未出错。 因此得出结论:GC类全局时钟管脚可以作为普通IO使用。(不知道是不是我对书中提到的全局时钟管脚理解有误,如果是,请网友别拍我,敬请留言指正) ? 2)非GC类全局时钟管脚是否可以作时钟使用? 其实至于说能否作为时钟使用,这里有另一层函义。当然,如果你把一个普通IO口配置成输入口,就把它的输入信号作为时钟,那是没问题的。但我们一般不这么做,因为时钟信号对于我们来说是一个很重要的信号,因此FPGA在内部会有特殊照顾,如果你使用FPGA传门为时钟预留的管脚,并作一些处理,那么你的时钟对于各种模块的时延是可以忽略的,因为时钟在布线时是单独走的一层,而如果你就仅用普通IO的话,经过FPGA内部布局布线后,从它的输到,再到各个使用时钟的地方,有的线长,有的线短,它的时延将是不一样的。这些东西还是看一些FPGA结构的内容吧。 在xilinx里有专门的DCM IP核可供调用,在ISE中执行project——New Source——IP(CORE Generator Architecture Wizard)——FPGA Features and Design——Clocking——Virtex-4——Single DCM ADV v9.1i,可得如下界面: 需要特别注意的是CLKIN Source需要选择是External还是Internal,各自生成的源文件如下: ==========================选择External========================= `timescale 1ns / 1ps module clk_test(CLKIN_IN, ????????????????CLKIN_IBUFG_OUT, ????????????????CLK0_OUT, ????????????????LOCKED_OUT); ????input CLKIN_IN; ???output CLKIN_IBUFG_OUT; ???output CLK0_OUT; ???output LOCKED_OUT; ?? ???wire CLKFB_IN; ???wire CLKIN_IBUFG; ???wire CLK0_BUF; ???wire GND_BIT; ???wire [6:0] GND_BUS_7; ???wire [15:0] GND_BUS_16; ?? ???assign GND_BIT = 0; ???assign GND_BUS_7 = 7b0000000; ???assign GND_BUS_16 = 16b0000000000000000; ???assign CLKIN_IBUFG_OUT = CLKIN_IBUFG; ???assign CLK0_OUT = CLKFB_IN; ???IBUFG CLKIN_IBUFG_INST (.I(CLKIN_IN), ???????????????????????????.O(CLKIN_IBUFG)); ???BUFG CLK0_BUFG_INST (.I(CLK0_BUF), ????????????????????????.O(CLKFB_IN)); ???DCM_ADV DCM_ADV_INST (.CLKFB(CLKFB_IN), ?????????????????????????.CLKIN(CLKIN_IBUFG), ?????????????????????????.DADDR(GND_BUS_7[6:0]), ?????????????????????????.DCLK(GND_BIT), ?????????????????????????.DEN(GND_BIT), ?????????????????????????.DI(GND_BUS_16[15:0]), ?????????

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档