欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    重配置学习心得.doc

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

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

    重配置学习心得.doc

    重配置学习心得动态部分可重配置学习心得2021-03-0323:48在_up v2p板子上进行动态部分可重配置开发已经有一段时间了,但是进展甚缓。而仔细回想,发现我们大多数时间浪费了在工具的版本问题上。ISE软件功能非常强大,然而其自身各种版本之间的兼容性却让人不敢恭维,尤其是在不常用的一些功能上(例如动态部分可重配置)。网上以及_ilin_提供的参考设计_290都是基于ise的较低版本来实现的,我们最初设计却选择了ISE9.1,在实现动态部分可重配置时遇到了许多问题。首先的问题是有关动态部分可重配置的资料太少了,想要找点参考来实现都是很困难。其次,经过在网路上的仔细搜索,找到一些参考设计,然而直接想要按照参考设计来实现是不行的,最大的问题在于总线宏(busmacro)不兼容。第三,于是使用fpga editor来打开参考例子中的.nmc文件,却被告知数据被损坏,无法打开。第四,然后想到使用fpga editor来实现自己的总线宏,于是按照总线宏(busmacro)的有关约束和定义,在fpga editor中使用TBUF来实现了一个自己设计的4bits总线宏。第五,想要和参考例子相比较,看自己的设计是否有误。使用_dlncd2_dl将nmc文件转换为_dl文件,参考_dl的语法将其改为相应的设计,但是再次转化为nmc文件,通过fpga editor打开却发现有些连接被改得不像正确的。所以,我对ISE9.1版本_dl语法是否有所更新心存疑问。第六,先不管总线宏是否设计正确,先做一个设计实现一下。按照module based的设计流程开发,按照其说明,全局资时钟是可以不用在初始预算中进行位置约束的,但是在最后实现阶段,无论如何也过不了DRC检查。报告称全局时钟及全局逻辑1没有完全被布线。很是疑惑,global_logic1设计中似乎并没有使用。总之,由于软件的版本问题,我们在此耗费了很多时间。希望对这方面有所研究的高手,给予指点。谢谢!时间越来越紧,然而项目的进展却缓慢异常,局部动态可重配置的困难主要还停留在工具的问题上。可以说,_ILIN_近年来对局部动态可重配置(Partial Dynamic Reconfiguration)是越来越重视了。这主要体现在其局部动态可重配置的开发流程以及开发工具的更新速度上。ISE6.3版本的局部动态可重配置开发流程是以_290为参考设计,实现Module based和Increment based的两种开发流程,这两种开发流程对设计者来说是苛刻的,有很多限制条件,如面积约束的限制、总线宏(Bus Macro)的实现及约束、脚本文件的编译等等。8.1版本以后,_ILIN_提出了新的局部动态可重配置开发流程EAPR (Early Access Partial Reconfiguration),相应的推出了对应的辅助开发工具PlanAhead以及可重配置patch。软件的更新本是无可厚非的,然而对于我们项目来说却不是什么好事。我们使用的是校园网,基本无法登陆_ILIN_的官方网站,根本无法下载更新的软件。现在我们所能找到的有关局部动态可重配置的设计方法以及参考设计,都是基于老版本的,按照相应的开发流程,转向新版本却是无论如何也实现不了的。我们现在使用的是ISE9.1版本,总线宏(Bus Macro)的不兼容已经无法避免。新版本的总线宏格式听说_ILIN_的官方网站上有,然而对于_ILIN_的官方网站现在长什么样,我已经是几个月没见过了。PlanAhead以及可重配置的patch包,无法获得,现在对于可重构走到最后一步,bitgen阶段,但是由于软件的版本的问题,无论如何也通不过DRC检查,无法生成局部动态可重配置的bitstream。那天在网上遇到一个国外做局部动态可重配置的博士,我将我们的开发过程告诉他,他对此吃惊不已,认为我们走得太艰难了,而且做的全是无用功,他说按照我们的这个开发条件,以及开发方式,几年出不了成果也是很正常的,而且就算出了成果恐怕也是人家早就实现了的东西。突然对中国的研究环境感到失望,难怪这么多人都要跑到国外去呢!现在局部动态可重配置是国际的一个研究热点,但是在FPGA领域真正具备这方面功能的只有_ILIN_,因此我们必须得依赖_ILIN_。项目受到重创,暂时停滞不前,还不知道下一步该怎么办,仅做此文,以表心情。匿名用户08-04-30_ilin_公司提供的TBUF总线宏是有问题,说什么版本不同什么的对于_ilin_公司提供的总线宏,可以用命令_dlncd2_dl将nmc文件转换为_dl文件,看看具体的内容,其实也没太大用,主要是如果自己作总线宏的时候,可以对照作已经实现了的可以通信的总线宏的结构,要添加的地方添加,要修改的地方修改,在我的实验中,即使我生成的TBUF总线宏语句跟_ilin_公司提供的一样也不行,不知道为何?总线宏的做法一般是先在fpga editor中根据所需宽度和长度的总线宏,先人工布线,这个阶段完成后,还不能用,还得用_dlncd2_dl将nmc文件转换为_dl文件,根据转换后的_DL所提供的结构,还得用户添加相应的端口设置,然后在把它转化回来用_dl_dl2ncd,一般生成一个.ncd文件,再改后缀.ncm,改后缀的一个变化是原来.ncd文件的大小会变小,不过不影响总线宏的通信匿名用户08-04-30全局资时钟是可以不用在初始预算中进行位置约束的?不是吧,时钟资DCM和全局时钟多路缓冲器BUFG都需要啊,在顶层模块HDL中,一般还需要用户自己添加DCM和BUFG,还不可以用EDK中生成的DCM那个.ngc文件global_logic1和global_logic0在激活阶段是不用管它的,只是在assemble阶段就不能出现,反正在最后的assemble阶段,需要所有的信号都布好线,如有没布线的信号,要返回前一个阶段active module阶段匿名用户08-04-30总线宏尽量用基于Slice的总线宏好一点,我用基于TBUF的总线宏,在重构过程中,重构区域的无序信号很容易影响静态模块的时序,经常导致重构中断,带控制信号的Slice总线宏在控制这方面要稳定很多还有一个就是,模块在综合阶段容易把一些工具认为不必要的信号优化掉,如果用TBUF的总线宏,还得把优化掉的信号手动在顶层模块HDL实现中屏蔽掉,slice总线宏就不要,这只是我个人作的实验的经验但很多人用TBUF的总线宏也能实现,我就不知道怎么搞的,用TBUF的总线宏的化,在静态模块中肯定要一个选择器,在重构的时候屏蔽来自重构区域的信号还有一个问题是,在布线的时候,一定要注意不能有越界行为,文档上的一句话差不多花了我半个月的时间才明白它的重要性bitstream文件用于FPGA的JTAG下载。既通过JTAG将bitstream文件正确的下载到FPGA 中,FPGA就可以工作。FPGA内部的configuration memory被分成的段叫做"frame",同系列的各款芯片frame数不同,frame内所包含的bits也不同。FPGA内部还有10个internal configuration registers,用不同的地址(4bit)区分,向其中写二进制码来实现对FPGA的配置。文件中同步标志之后的所有数据被封装到包中,包有两种32bit的包头,包头1可以表示读/写、寄存器地址、和本包的数据长度(11bit),包头2用来表示长度的位有27bit,但不可表示寄存器地址,当用包头1无法表示数据长度时,使用包头2和1结合的方式表示。下图为包头格式。bitstream文件结构如下:0、基本信息描述包括文件生成时间、生成文件的ncd名称、器件的型号封装等等。对下载没有影响。1、Dummy word-FFFF FFFFh:内部配置逻辑需要几个周期进行初始化。2、Synchronization word-AA995566h3、Write to CMD register-30008001h:使用包头1格式写是10,CMD的地址是0100b,数据长度是1,所以是30008001h。4、RCRC(Reset CRC Register)-00000007h:RCRC命令的编码是0111b,所以是7h。5、Write to FLR register-30016001h:该寄存器中记录本器件的frame size模32减1的值。6、Frame Length-000000_h7、Write to COR-300120_1h:Configuration Option8、Configuration options-_ _h:_151文档中有每一位功能说明9、Write to MASK-3000c001h:标志CTL寄存器哪位有效10、CTL mask-00000000h11、Write to CMD register-30008001h12、SWITCH-00000009h:SWITCH编码9h,这个命令用来改变时钟13、Write to FAR register-300020_1h:下载配置流起始存放的位置14、Frame address-00000000h15、Write to CMD register-30008001h16、WCFG(Write Configuration Data)-00000001h:WCFG编码1h未完,待续做了几天FPGA的JTAG,感觉了解bitstream内部结构好像没有太大的用途,因为不太可能手动修改bit流,用JTAG下载时从FFFFFFFF开始逐位的向TDI传送,直到文件的结束就可以了。所以不写了。_151、176这些文档中有详细的描述。FPGA开发中的模块化设计(modular design)(20_6-08-6:09:18)转载分类:技术模块化设计适用于团队开发设计内部关系易于划分、模块间连接较少的项目。模块化设计首先由team leader进行整体设计,各模块使用block bo_代替,只指明模块间的连接(使用“伪逻辑”(pseudo logic)连接)和整体设计的外部端口,并约束各模块在FPGA芯片内部的区域位置和时序、外部端口引脚。之后各team members并行的依据约束完成各自的模块设计。最后提交给team leader进行整体的组合(assemble)._ilin_的文档“development system reference guide”中有很详细的介绍。modular design是FPGA局部动态重配置的基础。modular design我今天刚跑通,有很多细节还不是很清楚第 6 页 共 6 页

    注意事项

    本文(重配置学习心得.doc)为本站会员(Wo****W)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开