FPGA学习
(一)Verilog HDL语法
一、模块
1、定义:一个电路模块/一种逻辑功能;
2、命名规则:只能是字母,数字,"$",或者’_’,且开头必须是字母或者”_”。区分大小写

3、Module的定义以及实例化

二、数据类型及常量变量
1、Verilog HDL有四种基本的值

(1)其中x和z不区分大小写;
(2)z也可以使用?表示,虽然不懂为什么不是表示未知……
2、Verilog HDL三类常量
(1)整型:
A、缺省十进制:1,-2;
B、基数表示:<位宽>’<进制><数字> 


下划线(_)可以用来分隔数的表达式来提高易读性
eg:
(2)实数型:
1.235 ,-545.34,3.6e4
(3)字符串型:
“fuck”,一样有转义字符
3、Verilog HDL变量最主要的数据类型:
(1)线网类型:
A、 定义:
表示Verilog结构化元件间的物理连线。它的值由驱动元件的值来决定,例如连续赋值或者门的输出。如果没有驱动元件连接到线网,线网的缺省值为z。常用:wire
B、举例:

C、用处:
可用作任何方程式或元件的输入,assign语句或者元件的输出。
(2)寄存器类型:
A、定义:
表示一个抽象的数据储存单元(但不表示它就一定是综合寄存器)。寄存器的缺省值为x。常用:reg
B、举例:

Attention:
(1)在always语句和initial语句中的赋值对象只能是reg类型,reg类型信号也只能在always语句和initial语句中被赋值,
(2)所以,always、initial块外的赋值对象和连线用wire型信号,always、initial块内的赋值对象用reg型
三、运算符与运算表达式
1、运算符

“<=”:非阻塞语句,即这句话执行时,下一句语句也执行。
“==”:阻塞语句
2、表达式=操作数+运算符
(1)分类:

(2)优先级:

四、块语句:
1、定义:
两条或者多条语句的组合,主要有两种。
2、begin_end语句:顺序块
(1)块内的语句顺序执行
(2)每条语句的延时为相对前一句
(3)最后一句执行完,才能跳出该块

3、fork_join语句:并行块
(1)块内语句同时执行
(2)每条语句的延时为相对于进入块仿真的时间
(较为少用)

五、条件语句与循环语句
1、if else语句(需要在always块中使用)
if(表达式) 语句;
else if(表达式) 语句;
else 语句;
(多个语句需放在begin end间)

2、case语句:多分支语句(需要在always块中使用)
case(表达式) 分支:语句…… default:语句; endcase
3、forever连续执行,常用于产生时钟信号

4、while执行语句

5、repeat
连续执行语句n次
repeat(表达式),在此表达式通常为常量表达式,表示重复次数。
begin语句;end
6、for

六、结构说明语句
1、initial
(1)仿真开始时对各变量的初始化
(2)生成激励波形作为电路的测试信号
(3)只执行一次
(4)程序模块中可有多个,并行执行
2、always
(1)格式:

(2)作用:
若触发条件满足,则被执行,满足一次执行一次,可由多个always块,并行执行,在always块中赋值的对象只能是reg语句。
3、function
(1)作用:返回一个用于表达式的值
(2)格式:

(3)规则:
A、不能包含时间控制语句
B、不能启动任务
C、至少有一个输入
D、必须存在给予函数名同名变量赋值语句
4、task
(1)作用:支持多种目的,可计算多个计算结果。
(2)格式:

(3)特点:
A、可定义自己的仿真时间单位
B、可定义自己的仿真时间单位,可启动其他的task和function。
七、阻塞赋值与非阻塞赋值

FPGA学习的更多相关文章
- [整理]FPGA学习资料汇总
01.特权同学倾情奉献海量FPGA学习资料 http://pan.baidu.com/s/1pJIb32F
- 如何学习FPGA?FPGA学习必备的基础知识
如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA 基础知识 FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...
- 芯航线FPGA学习套件之4*4矩阵键盘模块测试手册
芯航线FPGA学习套件之4*4矩阵键盘模块测试手册 本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的矩阵键盘模块的测试方法: 连接开发板,如下所示: 2.将矩阵键盘模块与开发板按如下图所 ...
- 芯航线FPGA学习套件之多通道串行ADDA(TLV1544,TLC5620)模块测试手册
芯航线FPGA学习套件之多通道串行ADDA模块测试手册 本手册以简明扼要的方式介绍芯航线FPGA学习套件提供的ADDA模块的测试方法: 连接开发板,如下所示: 2.将ADDA V1.1模块与开 ...
- FPGA学习之基本结构
如何学习FPGA中提到第一步:学习.了解FPGA结构,FPGA到底是什么东西,芯片里面有什么,不要开始就拿个开发板照着别人的东西去编程.既然要开始学习FPGA,那么就应该从其基本结构开始.以下内容是我 ...
- 第二篇-FPGA学习之RoadMap
古语云:知己知彼,百战不殆.那么既然选择了FPGA之路,欲练此功,必先-- 必先了解清楚,FPGA的特点,FPGA善于/不善于解决什么类型问题,以及FPGA应用的方向,FPGA学习的要素等等. 一.F ...
- FPGA学习笔记(二)——FPGA学习路线及开发流程
###### [该随笔部分内容转载自小梅哥] ######### 一.FPGA学习路线 工具使用 -> 语法学习 -> 逻辑设计 -> IP使用 ->接口设计 -& ...
- FPGA学习网站
1. OPENCORES.ORG这里提供非常多,非常好的PLD了内核,8051内核就可以在里面找到.进入后,选择project或者由 http//www.opencores.org/browse.c ...
- FPGA学习的一些误区
转载自网络,作者不详. 我常年担任多个有关FPGA学习研讨的QQ群管理员,长期以来很多新入群的菜鸟们总是在重复的问一些非常简单但是又让新手困惑不解的问题.作为管理员经常要给这些菜鸟们普及基础知识,但是 ...
- FPGA学习体会
我是安徽工程大学电子信息科学与技术专业的学生刘美花,在v3学院的培训结束了,这十几天的培训对我来说还是挺有意义的,不过中间也有一些波折.还记得刚开始的时候和老师还有各个学校的学生不太熟,心中有诸多不满 ...
随机推荐
- iOS ASIHTTPRequest用https协议加密请求
iOS 终端请求服务端数据时,为了保证数据安全,我们一般会使用https协议加密,而对于iOS的网络编程,我们一般会使用开源框架:ASIHTTPRequest,但是如果使用传统的http方式,即使忽略 ...
- jquery json ajax
当html中用script包含了不在同一个目录下的js外部文件(主要是为了通用代码的重用)时,这个js文件的 内容就如同在当前html文件中了,写jquery的时候不用考虑路径问题,可以直接引用htm ...
- mysql 多表联合更新
UPDATE mall_order moLEFT JOIN mall_order_goods mog ON mo.id = mog.order_idSET mo.ratio=0.08WHERE mog ...
- 避免使用CSS表达式
http://www.cnblogs.com/chenxizhang/archive/2013/05/01/3053439.html 这一篇我来和大家讨论个原则:Avoid CSS Expressio ...
- [Effective JavaScript 笔记]第19条:熟练掌握高阶函数
高阶函数介绍 高阶函数曾经是函数式编程的一个概念,感觉是很高深的术语.但开发简洁优雅的函数可以使代码更加简单明了.过去几年中脚本语言采用了这些个技术,揭开了函数式编程的最佳惯用法的神秘面纱.高阶函数就 ...
- Unity3d 经验小结
Unity3d 经验小结 文本教程 你是第2541个围观者 0条评论 供稿者:Jamesgary 标签:unity3d教程 Fbx.贴图导入Unity时的注意事项: 在导出Fbx之前,Maya中已 ...
- Capistrano SSH::AuthenticationFailed, not prompting for password
文章是从我的个人博客上粘贴过来的, 大家也可以访问 www.iwangzheng.com 在本地执行cap deploy部署的时候会报错: connection failed for: 11.11.1 ...
- 跟着百度学PHP[1]-if条件嵌套
权当自己的学习笔记.望大牛们切勿参考.如若发现错误,万望指出! 慕课任务 假设在发工资的时候,不仅判定性别,还要判定男性是否有房,没有房,可以发放住房补贴,对于女性,判定是否怀孕,怀孕还有怀孕补贴. ...
- PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
PHP面向对象三大特点学习 学习目标:充分理解抽象.封装.继承.多态 面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和 ...
- 在SharePoint 2010 母版页里添加自定义用户控件
在SharePoint 2010 母版页里添加自定义用户控件(译) 使用自定义用户控件的好处: 1.容易部署:2.易于控制显示或隐藏. (在使用的过程中)可能要面对的问题是:如何在用户控件里使用Sha ...