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

    基于System Generator的FPGA开发总结.doc

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

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

    基于System Generator的FPGA开发总结.doc

    基于System Generator的FPGA开发总结前一阵一直在忙,所以没有来得及写博文。弄完杂七杂八的事情,又继续FPGA的研究。使用Verilog HDL语言和原理图输入来完成FPGA设计的方法都试验过了,更高级的还有基于System Generator和基于EDK/Microblaze的方法。为了将以往已经开发的Matlab仿真通过的电机控制算法快速转换为可供FPGA使用的算法,首先研究了基于System Generator的FPGA开发,并有选择性地实现了几个算法,证明了其有效性。在这里先把开发过程中的一些心得写出来,欢迎大家分享、交流。预先介绍一下软硬件环境:ISE版本为Xilinx ISE Design Suite 12.1(包含System Generator12.1,但是那个著名的AccelDSP组件找不到了);Matlab版本为MATLAB R2010a Win32版(Simulink为7.5版),硬件开发板有DigilenTInc的Spartan3E XC3S500E开发板和自己制作的Spartan3 XC3S400实验板。首先是安装Matlab,这里要注意的是Matlab的安装路径必须与英文开头,中间可以包含数字;其次是路径中不能有空格,否则System Generator将无法识别Matlab的路径。然后安装ISE 12.1,完成之后点击C:Documents and SetTIngsAll Users开始菜单程序Xilinx ISE Design Suite 12.1里面的System Generator MATLAB Configurator,如果Matlab安装正确,System Generator会识别出Maltab,否则需要手动选择Maltab的路径;这里还有个版本限制,即ISE/ System Generator12.1只能完全支持Maltab2009a/b,对Maltab2010a只能beta支持(中间遇到问题就是Resource EsTImator用了一次之后就再也不能正常运行了,不知道是不是beta的原因)。然后就可以启动Matlab,新建一个mdl仿真文件,并打开Simulink Library Browser,切换到Xilinx Blocket,如果是第一次打开Xilinx Blocket,需要有一个建立Xilinx缓存的过程,时间比较长,不要把它当成电脑的假死。另外还有两个Xilinx的菜单是Xilinx Reference Blockset v12.1和Xilinx Blockset v12.1,这个以后再详细讲。下面进入开发步骤了。首先,每个工程里面都要有一个System Generator的工具箱(在Xilinx Blockettools里面),在这里可以配置的有1. System Generator生成的工程类型,比如ISE工程、EDK工程等,甚至可以直接生产.bit配置文件;2. 器件的型号,包括封装、速度等;3. System Generator的输出路径(文件夹);4. 综合工具(如XST、Synplify等,经常找不到Synplify,干脆就XST好了);5. 编程语言选择:只有VHDL和Verilog HDL;6. 可以选择是否生产测试文件;7. 配置FPGA的时钟,并选择时钟管理方式,这里给出了时钟管脚的配置,不过应该先不填,不然在后面的综合中会有很多警告;其次是若选择了DCM方式,则只能支持Virtex45的器件(用Spartan3、3E编译时提示的;奇怪是为什么没有说支持最新的Spartan6、Virtex6器件);8. 最后是选择Simulink的仿真周期,以及各个模块的显示方式(比如选择default显示各个模块的默认值,选择Sampling Frequency则在各模块的输入输出引脚上显示其时钟频率,如50MHz、10MHz等)。完成System Generator的配置之后,剩下的仿真环境的搭建、运行步骤和Simulink的普通应用是一样的,只不过必须是从Xilinx的菜单下拖出来的模块才能被物理实现(即可综合);对应Simulink库中的其他模块和Xilinx模块之间的连接,要使用Gateway In和Gateway Out做为接口。搭建完整个系统之后,把需要观察的变量通过Gateway Out接到示波器上,点击Simulink的运行按钮,就可以观测结果了。System Generator的差错机制非常严格,即使是数据位数不对都会停止仿真并报错。仿真无误之后,可以运行的操作更加丰富,比如调用Modelsim进行仿真(System Generator的输出文件夹中已自动生产了.do文件),调用Resource EsTImator预估资源(过程比较漫长,因为需要综合等过程)等。完成之后在System Generator工具箱中点击generate,就可以在输出文件夹中生产ISE的工程了(.xise)。打开生产的ISE工程,接下来的操作跟平时没有什么区别,只不过这里的代码全部是自动生成的:)。当然,还有一点需要特别交待的就是,生成的工程中的约束文件中,只有时序约束,是没有管脚约束的(虽然没有管脚约束,也可以综合、映射、生成下载文件,有点奇怪)。可以给工程添加输入输出、信号,然后在Floorplan里面分配管脚。再经过综合、映射、生成下载文件,烧写到PROM里面,就可以运行了。最后附上一点在System Generator开发、调试过程中的一点小经验:1. 一些Xilinx Blocket没有的逻辑结构,比如说case-switch语句,用模块搭比较麻烦,这时可以用Matlab的m文件书写,并保存为Matlab的函数,然后使用Xilinx Blocket的Mcode模块调用,这样比搭模块还要简单的多;2. 浮点数的处理是个大麻烦,幸运的是Xilinx Blocket提供了Xfix语句,可以将浮点转换为需要的宽度、位数的定点,比如a = xfix(xlUnsigned, 8, 3, 1.53),就把浮点数1.53转换为无符号数,其前8位代表整数,后3位代表小数;3. Xilinx Blocket一些模块是不消耗硬件资源的,比如scale模块;另一些则是消耗的,比如shift模块;这些详细说明在每个模块的帮助里面都有;4. Xilinx Blocket中有的模块,不一定在所选择的器件上适用,比如DSP48、DSP48E等,此时需要结合具体器件的特点。

    注意事项

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

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




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

    三一文库
    收起
    展开