• FPGA和DSP的HPI通信中的问题总结


    观点:凡是都有一个顺序,虽然FPGA是并行的,但是人们在处理问题时都是从某一个点入手,按照一定的顺序思考问题,解决问题。

    一、一个FPGA设计人员应该知道并会使用的

    ①1. 仿真:Modelsim, Quartus II(Simulator Tool)
       2. 综合:Quartus II (Compiler Tool, RTL Viewer, Technology Map Viewer, Chip Planner)
       3. 时序:Quartus II (TimeQuest Timing Analyzer, Technology Map Viewer, Chip Planner)
       4. 调试:Quartus II (SignalTap II Logic Analyzer, Virtual JTAG, Assignment Editor)
       5. 验证:Modelsim, Quartus II(Test Bench Template Writer)

    ②开发流程(特权同学的《深入浅出玩转FPGA》)

      1、需求分析到模块划分:首先是器件的选型,然后是模块的划分,一般整个设计的顶层只做例化,不做逻辑,然后一个顶层下面会有模块A,模块B,模块C,模块A下面又可以分为A/B/C多个子模块;模块划分的基本原则:子模块功能相对独立,模块内部联系尽量紧密,而模块间的连接尽量简单,对于那些难以满足模块划分准则且具有强内部关联的复杂设计,并不适合模块化设计方法,还有就是对系统中用到的时钟要有清楚的认识,比如用了50M的,100M的,都用在那个模块里面,是否有跨时钟域的问题。关于详细的介绍以及如何利用Quartus软件来入手可以参看Altera的中国官网视频中的“增量式编译”,http://www.altera.com.cn/education/courses/online-courses.html

      2、设计输入到综合优化:代码的输入,代码设计功底需要时间去积累,但是有许多重要的思想和技巧,比如“同步思想”,“脉冲边沿检测”,“跨时钟域的握手信号”,“利用存储器实现跨时钟域的数据传输”,运用这些思想在用TimeQuest进行时序约束的时候可以方便的定位时序不满足的路径,解决亚稳态等优势。综合的时候可以利用Quartus的提供的一些设置和工具进行综合优化,详细介绍可以看Altera的官网培训视频,“使用Quartus II 顾问和设计空间勘查器实现时序逼近”,“使用Quartus II 物理综合优化功能实现时序逼近”,“时序逼近最佳HDL设计实践”。利用Modelsim进行功能验证仿真,功能不对,在修改代码,在综合。

      3、实现时序收敛:利用TimeQuest进行时序报告分析,先对工程进行全局约束,比如系统时钟有几个分别周期为多少,在对I/O口进行约束,用到虚拟时钟,在对需要的地方做时序例外约束,参看官网视频“TimeQuest时序分析器”。

      4、仿真测试在到板级调试:需要利用到SignalTapII工具,参看官网视频“SignalTap II 嵌入式逻辑分析器”。

    ③所以个人认为要对FPGA的软件的使用熟悉,利用软件来帮助设计,然后对代码的风格很重要,对跨时钟域的同步处理等,利用官网的视频资料,软件的Handbook以及相应器件的Handbook,还有一些Application的Handbook。还得看看好书···

    二、遇到的问题,解决问题的思想

  • 相关阅读:
    剑指 Offer 18. 删除链表的节点
    剑指 Offer 15. 二进制中1的个数
    剑指 Offer 11. 旋转数组的最小数字
    剑指 Offer 56
    剑指 Offer 10- II. 青蛙跳台阶问题
    剑指 Offer 10- I. 斐波那契数列
    剑指 Offer 09. 用两个栈实现队列
    剑指 Offer 06. 从尾到头打印链表
    C++ 异常机制
    读《大数据——互联网大规模数据挖掘与分布式处理》
  • 原文地址:https://www.cnblogs.com/lanlingshan/p/2619690.html
Copyright © 2020-2023  润新知