• 编译流程之仿真


    仿真

    1. 1.        功能仿真(前仿真)

    从逻辑分析HDL代码所描述电路的正确性,因为不涉及到考虑门延时和线延时,所以仿真速度很快,其主要测试点在逻辑,如使用testbench文件进行仿真,就是功能仿真。

    1. 2.        时序仿真(后仿真)

    考虑门延时参数和单元连接线后的仿真,仿真更接近真实应用情况。

    注意:

    在进行HDL代码编写的时候,我们要有这样的认识,功能仿真才是整个FPGA开发中代码输出量最大的环节,对于所编写的每一个模块。可能需要很多的testbench文件。

    用户约束

    1.综合约束

    指导编译器将HDL代码转化为门级网表结构

    2.管脚约束

    将设计中的输入、输出、及双向IO和FPGA芯片物理I/O建立一一对应的联系。并且为每一个已分配的物理I/O管脚指定特定的接口电平,从而保证通信,如LVDS等

    3.位置约束

    针对特殊逻辑版块要求特殊的逻辑块资源

    4.时序约束

    将网表布局到FPGA芯片并完成连线操作时,如果我们指定了时序约束,编译器会考虑约束关系,进行合理的布局布线,因为布局布线会影响线延时的参数

    时序约束是针对布局布线环节

    ²  书序约束的重要意义在于保证设计的电路具有优良的性能,没有经过时序约束的电路,布局器和布线器的操作过于松散和随意!!!

    时序分析

    时序分析,也称之为:静态时序分析(简称STA),之所以进行时序分析,因为在实际中存在传输延时,尤其当时钟频率很高的时候,数字电路的模拟电路特性就会显现出来,如感抗,容抗这些因素的产生会导致较为严重的传输延时。

    编译流程之综合

    编译器一般会采用默认的设置进行逻辑综合。但实际上编译综合设置是可以修改的,可以考虑速度优先,或者面积优先,或者功耗优先的准则。通常的在选择IP核设计的时候,很多IP核会提供给选项是速度优先还是面积优先。

    关于FPGA开发,需要形成一种意识:速度和面积的权衡是十分重要的。

  • 相关阅读:
    Linux 设置core dump
    ffmpeg取rtsp流时av_read_frame阻塞的解决办法
    Qt 防多开
    Linux环境中Qt程序的手工发布
    [技术选型] SSH/SSI框架替代品
    [maven] settings 文件 国内镜像站
    [Intellij] 在IntelliJ IDEA 中创建运行web项目
    [Intellij] Intellij IDEA 使用中遇见的问题
    [spark 快速大数据分析读书笔记] 第一章 导论
    [hbase] 查询数据
  • 原文地址:https://www.cnblogs.com/shaonianpi/p/9991659.html
Copyright © 2020-2023  润新知