今天学习了FPGA设计流程的视频,我理解要做一个完整的FPGA系统,所要经历的步骤,先将它简单总结如下:

我在对上面的流程图进行解释:

  第一:设计定义就是我们这个FPGA系统或者FPGA设计所要实现的具体功能。如设计定义为流水灯还是呼吸灯,这就是设计定义。

  第二:设计输入就是我们设计Verilog代码或功能模块。

  第三:仿真包括前仿真和后仿真。前仿真就是寄存器仿真也是功能仿真,是在理想状态下的仿真,没有考虑延迟等。

后仿真则是门级仿真或时序仿真,考虑了时间延迟等不理想因素。

第四,板级验证则是在进行仿真后,没有出现问题,完整实现了设计的功能,直接把工程下载到板子上观察,看是否在开发板或实际电路上实现功能。

  下面讲讲我自己的感悟:

这几个步骤的联系是调试

  由于在进行FPGA设计时,总会有各种问题存在,如逻辑错误,观察到实验现象和预期效果不符,所以我们就需要修改自己的代码和执行逻辑,这就是调试。

  如在进行串口通信实验时,我原本设计发送Recive这个字符,可实验现象是“RRRRRR”,那我就需要定位问题,再修改自己的逻辑,然后观察实验现象看是否正确发送Recive这个字符。

  这就需要进行仿真,观察到发送字母的数据位一直为零,即不管我给了六个不一样的字母,它始终只发送第零位,即R。通过这个现象,那我就可以修改代码,每发送一个字母,如R或e等就让数据位增一,最终就能正确发送字符Recive。

  对调试的总结:调试就是把设计与验证搞成一致。

  观察实验现象是否正确,不正确。则A——定位问题。B——修改对应的代码逻辑。C——继续仿真观察波形是否正确(若不正确则返回A循环)。

第二部分,我对FPGA学习的心得:

这是自己Visio画的FPGA学习方法图:首先Verilog语言,是硬件描述语言,那么做设计自然得照图施工,图就是我们的电路图(系统框图),时序图,状态转移图。

然后,做设计时,一定得按照并行思维来,即每个模块独立,同时按照自己的节奏进行。最后,对于一个系统,得有拆分的模块化设计思想:拆分--设计---验证。

 若老铁们有啥建议,欢迎提出来,一起分享讨论,多谢。

FPGA设计流程的更多相关文章

  1. FPGA 设计流程,延迟,时间

    FPGA 设计流程,延迟,时间 流程:每个时钟周期可以传输的数据比特. 延迟:从输入到时钟周期的输出数据需要经验. 时间:两个元件之间的最大延迟,最高时钟速度. 1 採用流水线能够提高 流量: 比如计 ...

  2. 每天进步一点点------ISE 12.4的FPGA设计基本流程

    基于ISE 12.4的FPGA设计基本流程 ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入.仿真.综合.布局布线.生成BIT文件.配置以及在线调试等 ...

  3. 至芯FPGA培训中心-1天FPGA设计集训(赠送FPGA开发板)

    至芯FPGA培训中心-1天FPGA设计集训(赠送开发板) 开课时间2014年5月3日 课程介绍 FPGA设计初级培训班是针对于FPGA设计技术初学者的课程.课程不仅是对FPGA结构资源和设计流程的描述 ...

  4. VerilogHDL概述与数字IC设计流程学习笔记

    一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是 ...

  5. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  6. 01FPGA设计流程

    今天学习了FPGA设计流程的视频,我理解要做一个完整的FPGA系统,所要经历的步骤,先将它简单总结如下: 我在对上面的流程图进行解释: 第一:设计定义就是我们这个FPGA系统或者FPGA设计所要实现的 ...

  7. 02-FPGA设计流程介绍——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线——普利斯队长精心奉献 课程目标: 1.了解并学会FPGA开发设计的整体流程 2.设计一个二选一选择器并进行功能仿真.时序仿真以及板级验证 实验平台:芯航线FPGA开发板.杜邦线 实验内容: 良 ...

  8. 03-组合逻辑电路设计之译码器——小梅哥FPGA设计思想与验证方法视频教程配套文档

    芯航线——普利斯队长精心奉献 课程目标:    1. 再次熟悉Quartus II工程的建立以及完整的FPGA开发流程 2. 以译码器为例学会简单组合逻辑电路设计 实验平台:无 实验原理: 组合逻辑, ...

  9. 【转】 FPGA设计的四种常用思想与技巧

    本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作.串并转换.流水线操作.数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作 ...

随机推荐

  1. MXNet学习:预测结果-识别单张图片

    用到了model里的FeedForward.load和predict import os import mxnet as mx import numpy as np import Image from ...

  2. JavaScript 的DOM操作详解

    内容概要 DOM之查找标签 基本查找 间接查找 节点操作 获取值操作 class操作 样式操作 事件 内置参数this 事件练习 内容详细 DOM操作 DOM(Document Object Mode ...

  3. nginx 配置文件与日志模块

    内容概要 Nginx 虚拟主机 基于多 IP 的方式 基于多端口的方式 基于多域名的方式 日志配置(日志格式详解) Nginx 访问控制模块(可以去 Nginx.org 文档 documentatio ...

  4. c++ 字符串替换程序 p324

    字符串替换程序 C++ Primer 324页 // replace:从str字符串中查找oldVal字符串,如果找到就替换成newVal字符串. void replace(string &s ...

  5. Python:更改pip镜像源的方法

    windows系统一步更换 在命令提示符中运行 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ 具体其它 ...

  6. 北大博士生提出CAE,下游任务泛化能力优于何恺明MAE

    大家好,我是对白. 何恺明时隔两年发一作论文,提出了一种视觉自监督学习新范式-- 用掩蔽自编码器MAE,为视觉大模型开路. 这一次,北大博士生提出一个新方法CAE,在其下游任务中展现的泛化能力超过了M ...

  7. 搭建开源跳板机——jumpserver

    搭建开源跳板机mobaxterm 官方文档:https://jumpserver.readthedocs.io/zh/master/ $ yum update -y # 防火墙 与 selinux 设 ...

  8. for循环例子

    代码 点击查看[ForTest.java]代码 //package com.d; import java.util.Scanner; /** * For循环例子 * @date: 2022.2.24 ...

  9. vulhub漏洞环境

    0x00 vulhub介绍 Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更 ...

  10. 同事会建模,会数据分析,会可视化图表,而你只会用EXCEL?

    ​小李是一家外企的数据分析师,平时处理的都是亿万行级别数据量的报表,为了可以胜任这份工作,小李早早地就学会了各种大数据工具,而且做出来的数据模型高度自动化,效率极高,为公司创造了非常大的价值.因为小李 ...