FPGA基础(verilog语言)——语法篇(续1)
上一篇文章提到了FPGA中一个模块基本结构,这篇文章开始介绍语法。
首先,我们学习一门语言都要从这门语言的单词学起,所以verilog中的关键词都有哪些呢?看下面:
A:always、assign
B:begin、
C:case(包含casex、casez)
D:deassign、default、defparam(参数声明)、disable(禁止)
E:event(事件)、edge、else、end、endcase、endfunction、endprimitive、endmodule、endspecify、endtable、endtask
F:for、force(强迫赋值)、forever(无限循环)、fork(并发语句块引导)、function(函数)
G:gate(门,包含and、nand、or、nor、xor、xnor、buf、not、bufif0、bufif1、nofif0、nofif1、nmos、pmos、rnmos、rpmos、cmos、rcmos、tran、rtran、tranif0、tranif1、rtranif0、rtranif1、pullup、pulldowm)
H:highz0、highz1
I:if、ifnone、initial、inout、input、integer
J:join
L:large
M:module、macromokule、medium
N:negedge
P:parameter(参数)
R:reg、repeat(重复执行)、real、realtime、release
S:specparam、scalared、small、specify、strong0、strong1、supply0、supply1
T:tri、table、task、time、triand、trior、trireg、tri0、tri1
V:vectored
W:wait、wand、weak0、weak1、while、wire、wor
这是我总结的,不一定全面
关键词虽然学完了,但是我们自己定义端口或者变量的时候还需要用到标识符:
标识符规则:1.标识符可由字母、数字、下划线(_)、美元($)构成、第一个字符必须是字母或下划线
2.verilog中变量名区别大小写,对大小写敏感
3.在verilog文件中一个名字只能有一个意义
4.扩展标识符用“\”引出,用空格、制表、回车、换行键结束,例如:abcde与 \abcde是相同的
在编程的时候知道这些还是不够的,因为,我们还要知道一些运算符
运算符:单目运算符:
+ - 正负号
! 逻辑非
~ 按位取反
& ~& | ~| 缩位运算符
二目运算符:
+ - * / 算术运算符
% 取模运算符
> >= < <= 关系运算符
&& || 逻辑运算符
= == != 等式运算符
& | ^ ^~ 逐位运算符
<< >> 移位运算符
其他运算符:
A ?B :C 条件运算符
{A,B,C} 位拼接运算符
{N{A}} 重复运算符
这次就写这么多了,词写完了,下次写句法哦!
FPGA基础(verilog语言)——语法篇(续1)的更多相关文章
- 深入研究C语言 第一篇(续)
没有读过第一篇的读者,可以点击这里,阅读深入研究C语言的第一篇. 问题一:如何打印变量的地址? 我们用取地址符&,可以取到变量的偏移地址,用DS可以取到变量的段地址. 1.全局变量: 我们看到 ...
- 深入研究C语言 第二篇(续)
1. 关于如下的程序,关于结构体的拷贝,拷贝是拷贝到内存中的什么地方? 我们进入debug进行反汇编,单步等操作跟踪查看.发现: 在main中,我们看到call 0266应该对应的是转跳到func处执 ...
- FPGA基础(verilog语言)——语法篇
verilog语言简介 verilog语言是一种语法类似于c的语言,但是与c语言也有不同之处,比如: 1.verilog语言是并行的,每个always块都是同时执行,而c语言是顺序执行的 2.veri ...
- Xamarin XAML语言教程基础语法篇大学霸
Xamarin XAML语言教程基础语法篇大学霸 前 言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...
- FPGA基础入门篇(四) 边沿检测电路
FPGA基础入门篇(四)--边沿检测电路 一.边沿检测 边沿检测,就是检测输入信号,或者FPGA内部逻辑信号的跳变,即上升沿或者下降沿的检测.在检测到所需要的边沿后产生一个高电平的脉冲.这在FPGA电 ...
- Scala快速入门 - 基础语法篇
本篇文章首发于头条号Scala快速入门 - 基础语法篇,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的 ...
- R语言语法基础二
R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...
- R语言语法基础一
R语言语法基础一 Hello world #这里是注释 myString = "hello world" print(myString) [1] "hello world ...
- GO语言基础(结构+语法+类型+变量)
GO语言基础(结构+语法+类型+变量) Go语言结构 Go语言语法 Go语言类型 Go语言变量 Go 语言结构 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 &a ...
- C语言函数篇(二)函数参数基础设计
形参实现一种数据传入的接口 ,由 实参 拷贝给 形参. 拷贝!!!!!!!!!!! 例1: void func(int tmp){ //意图是实现传进来的参数 +1 tmp++; } int mian ...
随机推荐
- Dubbo配置完全外部化实践,使用动态配置中心的注意事项
问题描述 近期开发项目,将Dubbo的配置全部外部化到动态配置中心.这里配置中心我使用的是Apollo. @Configuration public class DubboConfig { @Bean ...
- Java线程池的正确关闭方法,awaitTermination还不够
问题说明 今天发现了一个问题,颠覆了我之前对关闭线程池的认识. 一直以来,我坚信用shutdown + awaitTermination关闭线程池是最标准的方式. 不过,这次遇到的问题是,子线程用到B ...
- JavaWeb 如何防止表单重复提交 - 使用Token,令牌
JavaWeb 如何防止表单重复提交 - 使用Token,令牌 说到重复提交 ,应该想到两种场景:1. 在下单,或者支付 这种情况 那么不允许 刷新,不允许后退再点击提交(后退之后提交会失败,修改了 ...
- (二)django--带APP的网站
1.打开终端,进入到django项目,创建APP应用:python manage.py startapp news 2.在settings.py中进行注册 3.在news下新建views.py,和ur ...
- 【问题记录】VMware Tools是灰色的,不能安装
一.VMware Tools简介 VMware Tools 中包含一系列服务和模块,可在 VMware 产品中实现多种功能,从而使用户能够更好地管理客户机操作系统,以及与客户机操作系统进行无缝交互. ...
- 关于./xhost: unable to open display问题的解决
看了很多大同小异的帖子,都没能解决这个问题,以下是我的实测经验,注意第三步,很关键. 注:以下操作在确保vncserver.xdpyinfo服务正常的情况下进行 第一步:root登录,启动vncser ...
- 大公司喜欢问的Java集合类面试题
Collection Collection是基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素而另一 ...
- Kettle(6.0) 参数方式连接数据库
数据库连接条件(视自己实际情况而定) 数据库: Oracle 主机名称(IP): localhost 或 127.0.0.1 数据库名称(SID):MYORCL 端口号: 1521 用户名: scot ...
- dp的林林总总(持续更新,dp骚气解法等等)
写在前面: 本人dp较弱,所以总结了一些坑点,转化思路以供复习使用,勿喷,甚至一些不是dp的题(贪心等等)也会放在这. 每个点后面会有我自己的题解,如果没有链接,向下找第一个链接,可能会有多题. 1. ...
- raw文件转mha文件
raw格式 在体数据(volume)中,经常会遇到raw文件,raw文件就是其实就是所有体素组成的文件,raw文件必须还有一些描信息才能用(因为得知道数据的size,type,spacing等),就像 ...