FPGA调试技巧
FPGA调试技巧
八月,一直在debug, 编译,查信号,几乎没机会,也没心思停留下来看点东西,静心思考,做点笔记。今天,在硬盘上翻到了保存已久,但一直没想起来读的一本手册。这是我初入职场,决定从硬件工程师转FPGA的岗位时下载的,当时想着要是读完verilog那些事,FPGA STORY系列,出去找FPGA的工作岗位,我肯定会更有信心吧。结果呢,初次接触FPGA,很多知识还不具备,使得我读起这些书来很困难,缺乏具体的调试经验,当然也缺少对作者感同深受的那份体验,但是我能感觉到,作者对这套教程花了许多心思,深知FPGA小白,在自学这条道路上遇到的困惑,多次提出读者内心的疑问,并循序渐进的解答,这一点真的值得点赞。这种写教程的方式,真的是我非常喜欢的,也是我应该学习的,不用把逼格抬得太高,揣摩读者想知道的内容,而不只是列出自己想表达的。我甚至觉得,作者应该也是一位人际交往的高手,总能把话说到别人心坎里。
这套教程还没读一半,我就辞职了,不是因为我感觉知识学好了,而是原来的单位实在呆不下去了,离职后,我真的很快找到一个FPGA的岗位,现在想来,我当初能获得这个工作机会,只是因为全公司总人数小于5,并且没有一个人懂FPGA,还有一个很重要的因素是我有个高学历。从那以后,做FPGA开发快满两年了,这本册子一直躺在硬盘里,没有翻过。这两天,想静下心来读读书,翻开这本手册,有一点让我非常开心,因为我已经能很顺畅的阅读它,并理解里面的内容。学习真的就应当反反复复,每一次让自己进步一点点。

模块化设计

- 调用
- 完成
- 数据输入
- 数据输出
以下是一段自动启停的代码



模块之间的基本沟通信号

问答式沟通的最基本代码

采集时钟的频差



关于数据采集与计数





用延时来检测数据的变化



FPGA调试技巧的更多相关文章
- FPGA调试技巧(Quartus 15.1 Standard平台)
1.在SignalTap II Logic Analyzer(stp)观测信号,需要将待观察寄存器.网络节点的综合器属性设为synthesis noprune和synthesis keep,防止综合器 ...
- 【黑金原创教程】 FPGA那些事儿 SignalTap II 调试技巧
简介工具篇系列的第三本教程,讲述各种与SignalTap II 有关的调试技巧. 目录[黑金原创教程] FPGA那些事儿<工具篇III>:File01 - 上线调试与下线调试[黑金原创教程 ...
- μC/OS-II在Microblaze上的移植与使用专题--“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品
reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html 随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大 ...
- 【工具】VS2010常用调试技巧(1)
调试是一个程序员最基本的技能,其重要性不言自明.不会调试的程序员就意味着他即使会一门语言,却不能编制出好的软件.本文就本人在开发过程中常用的调试技巧作下简单呢介绍,希望对大家有所帮助,能力超群者请绕道 ...
- Visual Studio高级调试技巧
1. 设置软件断点,运行到目标位置启动调试器 方法①:使用汇编指令(注:x64 c++不支持嵌入汇编) _asm 方法②:编译器提供的方法 __debugbreak(); 方法③:使用windows ...
- 【转】你所不知道的Android Studio调试技巧
这篇写Android studio debug技巧个人觉得写得不错,转自:http://www.jianshu.com/p/011eb88f4e0d# Android Studio目前已经成为开发An ...
- VS调试技巧,提高调试效率(转):
如果你还没有使用过这些技巧,希望这篇博文能帮你发现它们. 它们学起来很容易,能帮你节省很多时间. 运行到光标(Ctrl+ F10) 我经常看见人们是这样来调试应用程序的: 他们在应用程序需要调试的代码 ...
- iOS各种调试技巧豪华套餐
转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global Break ...
- xcode调试技巧
xode报错有时挺无厘头,完全不知道哪里出的问题,最后还得用排除法,记录一些工作中认为有用的调试技巧 1.左侧视图点断点视图,左下角点加号,选择exception breakpoint,类型选c++, ...
随机推荐
- 学号 20175223 《Java程序设计》第 6 周学习总结
目录 教材学习内容总结 代码调试中的问题和解决过程 1. 编译运行时,跳过 Scanner.nextLine() 语句. 2. 提示 NullPointerException 错误. [代码托管] 学 ...
- mysql 的存储过程_多字段
mysql 的存储过程 一.准备工作 新建一个表 /*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server V ...
- JavaScript里面的arguments到底是个啥?
类数组对象:arguments 总所周知,js是一门相当灵活的语言.当我们在js中在调用一个函数的时候,我们经常会给这个函数传递一些参数,js把传入到这个函数的全部参数存储在一个叫做arguments ...
- 关于while read line 循环中变量作用域的问题
前一阵用shell写了一个从数据库中抽取数据生成.xml文件的脚本,要求是每个文件中只生成1000条数据.于是用到了while read line 作为循环. 在制作文件计数器的时候发现了一个问题,在 ...
- docker查看挂载目录Volume
使用docker inspect命令查看container的volume信息,按照书本上面敲,发现一直报错: 使用命令如下: sudo docker inspect --format "{{ ...
- python之路之简单介绍:
python介绍: a. python 基础 - 基础 - 基本的数据类型 - 函数 - 面向对象 python 安装 python 安装在os上 执行操作: 写一个文件,文件中按照python规则写 ...
- 关于linux 共享内存查看已经完整释放
完整删除共享内存脚本 #!/bin/sh function rmshm() { zero_status=`ipcs -m|awk '{print $6}'|grep -w 0|wc -l` if [ ...
- for语句,range() 函式
for 语句在任意序列 (列表或者字符串) 中迭代时, 总是按照元素在序列中的出现顺序依次迭代. 2 ... a = ['cat', 'window', 'defenestrate']3 >&g ...
- spark学习笔记_1
简单的讲,Apache Spark是一个快速且通用的集群计算系统. Apache Spark 历史: 2009年由加州伯克利大学的AMP实验室开发,并在2010年开源,13年时成长为Apache旗下大 ...
- mariadb-my.cnf
[client]port = 3306socket = /tmp/mysql.sockdefault-character-set=utf8 [mysqld]port = 3306socket = /t ...