FPGA学步笔记

在当初读书的时候就一直想学学fpga,可能是没有什么不得不学的原因,最后总是没有付诸行动。正好年前有点经费打算买个板子学一下。

在一开始根本不知道该买什么(现在也还不知道),各种系列,各种型号的太多了。然后问了一下以前一搞过的好基友,然后推荐买了块DE0-Nano-SoC说性价比挺高。

买来之后,看起来还不错。

但是。。。。。。

买板子不是要送很多资料么。。。。。。 

就几篇英文的说明文档是什么鬼。。。。。

于是再次封入盒子,放入柜子。。。。。

2个月后,寒假,看着手上一堆事情,突然觉得应该换换思维,不能老搞机械设计,然后硬下头皮把fpga的封印重新开启,最终竟然看完了50页的英文手册,点亮了LED。

虽然,这个过程中,对Verilog HDL语言,还有fpga的很多基础都不知道,但是以前学习单片机的经验告诉我,第一个程序很重要!语言不会,可以找到专门的书和视频,基础不会可以慢慢查,唯有把第一个程序跑起来,才能算是把整个流程搞清楚了,才能循序渐进边动手边学习。

但是。。。。。。。

fpga就点个led而已。。。。

为毛这么复杂。。。。

为毛这么多流程要走。。。。。

趁着还没忘,把过程大致记录下来,留作笔记。不然明天万一又搞其他玩意了呢。。。。。。

1、搭建开发环境

学习板一块、quartus II 17.1,cyclone V对应的器件包(.qdz)能有对应软件的离线帮助包就更好了(虽然目前还没能力去用)

一开始,想去官网上下载,然后根据提示一步一步去注册,最后下载的是会后“404”,qq邮箱倒是又多了好多订阅邮件。。。

后来还是加了个相关的qq群,在群文件中找到别人归纳的下载地址(拜谢好人,这里我就不粘贴了)然后把软件安装好,按照提示该干嘛干嘛(你懂的)。安装的过程会自动把usb下载fpga的那个驱动安好。

软件装好后,打开,在 Tools-->Install Devices可以把下载好的器件库(也就是.qdz文件)添加进来。具体要什么器件库取决于自己的板子。

2、新建项目

这个和大多数相关软件都一样,不管式三维设计软件还是单片机的开发环境都是要有这一步的。项目能把所有文件管理起来,还记得当初才学这些东西的时候,做了很多东西,依然只有一个项目,所有文件东一个西一个,然后到编译的时候就各种灵异。。。

File-->New Project Wizard 然后一路next,需要输个工作目录和项目文件名什么的,然后选择自己板子对应的芯片型号。

3、设计

软件界面,现在我还是二懂二懂的,就不说了。

3.1 lock Diagram/Schematic File文件的创建

一开始是一个空的项目,然后就是File-->New-->Block Diagram/Schematic File,用来新建一个文件,这个文件长得很像一个电路原理图,作用也很像。后缀名是.bdf。所有程序什么的最后都变成一个一个逻辑功能块(我目前这么认为)在这个文件中添加,然后连接就像一个硬件一样。

3.2 Verilog HDL File文件的创建和使用

之前那个.bdf文件创建并保存了之后,要在其中添加东西,这些东西对应着不同的功能,于是就可以新建Verilog HDL文件来表达这些逻辑(虽然不签还不懂),File-->New-->Verilog HDL 创建并保存一个.v的文件,其中代码先照着抄进去。

目前即使保存,他也只是一个.v的源文件,需要通过File-->Create/Update-->Create Symbol.Files for Current File来将它转换为一个可以在.bdf文件中可以用的文件。后缀名还不知道是什么,反正在.bdf的绘图区域中双击就可以放置进来。

当然,在放置的时候,可以看到除了在项目文件目录中自己创建的这些功能块(将就着这么叫吧)外,还有软件安装目录的库的其他常用功能块。

3.3 IP Catalog的使用

用这个之前,需要先点一下Tools-->IP Catalog,打开对应的工具栏。

IP Catalog目前给我的感觉就是可以根据自己配置文件的形式生成之前要做的Verilog HDL文件,然后转换成symbol文件后和自己创建的文件一样,在项目文件目录下添加。和软件自带库的区别是(仅仅目前自我理解):

软件自带的块直接就是symbol文件可以直接调用,但是不能改;

IP Catalog只是通过软件的配置,自动生成源代码文件,需要先转换为symbol才能用,但是可以根据需要配置,比如多两个引脚少两个什么的。

这里根据需要配置并转换好。

3.4 连线

根据需要把各个功能块连接好,并且在输入输出和bus线上要右键-->属性重新给个名字。这个名字比较重要,和硬件有一定的关系。具体写法以后研究。

3.5 Assign the Pins 指定引脚

刚刚只是给输入输出引脚起了名字,但是这个名字具体对应物理上哪个输入输出引脚就在这个地方配置。

首先Processing --> Start --> Start Analysis & Elaboration,看一下之前的有没有错误。如果没有报错就Assignments --> Pin Planner,并在哪个引脚对应表格中填写具体的编号。

3.6 创建一个SDC文件

这个目前还不知道有啥用,只是猜测和之前.bdf中如数引脚是CLOCK_50应该有关。SDC文件中好像是定义了这个引脚的某种行为?

Tools --> TimeQuest Timing Analyzer,然后出现新界面,在新界面中File --> New SDC file,然后把代码输进去,保存。

4、编译

Processing-->Start Compilation,如果没出错的话应该会生成一个.SOF文件,相当于以前单片机的hex文件。用来下载的二进制文件。

5、下载

连好硬件,然后Tools --> Programmer,出现新的界面,下载程序在这个界面中进行。

点击Hardware Setup当前选择硬件中要选择好。

关掉对话框后,在Programmer界面中Auto Detect,自动查找硬件,然后选择自己的芯片。在图上出现了两个芯片的样子一个是HPS一个是SCSEMA4。为什么是两个目前我还不知道。

点击SCSEMA4,然后点击Change File,找到开始生产的sof文件。(比较逗逼的是英文文档中写的是a .sof,我就到处去找这个文件,还觉得很奇怪怎么默认默认名字是a,后来仔细一看,有一个空格,表示“一个.sof文件”。。。。。)

吧SCSEMA4的Program/Configure复选框选上,然后Start就好了。

6、总结

其实设计主要是为了做好bdf文件,其他Verilog HDL、自带库、IP什么的都是bdf文件的一个小元件。

bdf文件要通过Assign the Pins和硬件关联起来。

编译一个sof目标二进制文件,然后下载。

写了个笔记,对别人有没有用不知道,反正自己是重新理了一到思路,要明晰很多了(虽然可能有理解错误的地方)。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容