欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    FPGA实战开发技巧(5).doc

    • 资源ID:3251766       资源大小:17.50KB        全文页数:3页
    • 资源格式: DOC        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    FPGA实战开发技巧(5).doc

    FPGA实战开发技巧(5)一般来讲,添加约束的原则为先附加全局约束,再补充局部约束,而且局部约束比较宽松。其目的是在可能的地方尽量放松约束,提高布线成功概率,减少ISE 布局布线时间。典型的全局约束包括周期约束和偏移约束。在添加全局时序约束时,需要根据时钟频率划分不同的时钟域,添加各自的周期约束;然后对输入输出端口信号添加偏移约束,对片内逻辑添加附加约束。1周期约束周期约束是附加在时钟网路上的基本时序约束,以保证时钟区域内所有同步组件的时序满足要求。在分析时序时,周期约束能自动处理寄存器时钟端的反相问题,如果相邻的同步元件时钟相位相反,则其延迟会被自动限制为周期约束值的一半,这其实相当于降低了时钟周期约束的数值,所以在实际中一般不要同时使用时钟信号的上升沿和下降沿。硬件设计电路所能工作的最高频率取决于芯片内部元件本身固有的建立保持时间,以及同步元件之间的逻辑和布线延迟。所以电路最高频率由代码和芯片两部分共同决定,相同的程序,在速度等级高的芯片上能达到更高的最高工作频率;同样,在同一芯片内,经过速度优化的代码具有更高的工作频率,在实际中往往取二者的平衡。在添加时钟周期之前,需要对电路的期望时钟周期有一个合理的估计,这样才不会附加过松或过紧的周期约束,过松的约束不能达到性能要求,过紧的约束会增加布局布线的难度,实现的结果也不一定理想。常用的工程策略是:附加的时钟周期约束的时长为期望值的90%,即约束的最高频率是实际工作频率的110% 左右。附加时钟周期约束的方法有两个:一是简易方法,二是推荐方法。简易方式是直接将周期约束附加到寄存器时钟网线上,其语法如下所示: 约束信号 PERIOD = 周期长度 HIGH | LOW 脉冲持续时间;其中, 内的内容为可选项, 中的内容为必选项,|表示选择项。 约束信号 可为Net net_name或TIMEGRP group_name,前者表示周期约束作用到线网所驱动的同步元件上,后者表示约束到TIMEGRP所定义的信号分组上( 如触发器、锁存器以及RAM 等)。 周期长度 为要求的时钟周期,可选用ms、s、ns以及ps 等单位,默认值为ns,对单位不区分大小写。HIGH | LOW 用于指定周期内第一个脉冲是高电平还是低电平。 脉冲持续时间 用于指定第一个脉冲的持续时间,可选用ms、s、ns 以及ps 等单位,默认值为ns,如果缺省该项,则默认为50% 的占空比。如语句:Net clk_100MHz period = 10ns High 5ns;指定了信号clk_100MHz 的周期为10ns,高电平持续的时间为5ns,该约束将被添加到信号clk_100MHz所驱动的元件上。推荐方法常用于约束具有复杂派生关系的时钟网络,其基本语法为:TIMESPEC TS_idenTIfier = PERIOD TNM_reference 周期长度HIGH | LOW 脉冲持续时间;其中,TIMESPEC 是一个基本时序相关约束,用于标志时序规范。TS_identifier由关键字TS 和用户定义的identifier 表示,二者共同构成一种时序规范,称为TS 属性定义,可在约束文件中任意引用,大大地丰富了派生时钟的定义。在使用时,首先要定义时钟分组,然后再添加相应的约束,如:NET clk_50MHz = syn_clk;TIMESPECT TS_syn_clk = PERIOD syn_clk 20 HIGN 10;TIMESPEC 利用识别符定义派生时钟的语法为:TIMESPEC TS_identifier2 = PERIOD timegroup_name TS_identifier1* | / 倍数因子 +| - phasevalue 单位其中,TS_identifier2 是要派生定义的时钟,TS_identifier1 为已定义的时钟,倍数因子用于给出二者周期的倍数关系,phasevalue 给出二者之间的相位关系。如:定义系统时钟clk_syn :TIMESPEC clk_syn = PERIOD clk 5ns;下面给出其反相时钟clk_syn_180 以及2 分频时钟clk_syn_half :TIMESPEC clk_syn_180 = PERIOD clk_180 clk_syn PHASE + 2.5ns;TIMESPEC clk_syn_180 = PERIOD clk_half clk_syn / 2;2偏移约束偏移约束也是一类基本时序约束,规定了外部时钟和数据输入输出引脚之间的相对时序关系,只能用于端口信号,不能应用于内部信号,包括OFFSET_IN_BEFORE,OFFSET_IN_AFTER,OFFSET_OUT_BEFORE,OFFSET_OUT_ AFTER 等4 类基本约束。偏移约束的基本语法为:OFFSET = IN | OUT offset_time units BEFORE | AFTER clk_nameTIMEGRP group_name;其中IN | OUT 说明约束的是输入还是输出。offset_time为数据和有效时钟沿之间的时间差,BEFORE| AFTER 表明该时间差是在有效时钟之前还是之后,clk_name为有效时钟的名字,TIMEGRP group_name 是用户添加的分组信号,在缺省时,默认为时钟clk_name 所驱动的所有触发器。偏移约束通知布局布线器输入数据的到达时刻,从而可准确调整布局布线的过程,使约束信号建立时间满足要求。1)OFFSET IN偏移约束

    注意事项

    本文(FPGA实战开发技巧(5).doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开