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 ...
随机推荐
- C# WPF基础巩固
时间如流水,只能流去不流回. 学历代表你的过去,能力代表你的现在,学习能力代表你的将来. 学无止境,精益求精. 一.写作目的 做C# WPF开发,无论是工作中即将使用,还是只应付跳槽面试,开发基础是非 ...
- java编写基于netty的RPC框架
一 简单概念 RPC:(Remote Procedure Call),远程调用过程,是通过网络调用远程计算机的进程中某个方法,从而获取到想要的数据,过程如同调用本地的方法一样. 阻塞IO:当阻塞I/O ...
- 前端jsp联系项目相关经验
——引语 总算是有时间将我这几个月总结下了 前面都是总结的比较凌乱.希望这次好好组织语言 接触到前端js时还是比较陌生的了,因为之前一直用的zk来进行开发的,不过稍稍提下总能记起一些来,对比以前用的 ...
- Java基础(三十三)JDBC(3)操作数据库
一.添加数据 在SQL语句中,一条INSERT语句只能添加一条记录,因此分为几种情况进行添加数据操作. 1.添加一条记录 (1)如果只需要添加一条记录,通常情况下通过Statament实例完成. tr ...
- Web购物车案例(servlet+bean+jsp)
一些B话 事情来得太突然,一个朋友说是要我帮忙做一个JavaWeb的课程设计,在过一天就要去答辩了- 这我哪受的了时间这么短还没有~~~,正准备委婉的拒绝的时候他说写完之后给我那个啥- 好吧,我就是这 ...
- Python中的is和==的区别
Python中的is和==的区别 1. is 是比较内存地址id() a = "YongJie" b = "YongJie" print(id(a)) #233 ...
- C++智能指针类型转换
#include <iostream> #include <memory> struct Base { int a; virtual void f() const { std: ...
- nginx篇高级用法之基于TCP/UDP的四层调度
nginx 从1.9版本开始支持基于TCP/UDP的四层调度,在编译nginx时使用--with-stream开启该模块 支持TCP/UDP调度时,支持给所有的软件做调度器,例如:nfs smb ft ...
- [考试反思]0825NOIP模拟测试31:喘息
好吧,我又活了 大脸又. 240,220,210,200,200... T1是个不会证明的傻子找规律算上看了一遍三道题之后一共20分钟搞定. skyh打的是错的可是成功qj全部测试点得到AC(会被手模 ...
- python分支和循环结构
本文收录在Python从入门到精通系列文章系列 1. 分支结构 1.1 应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构.然而仅有顺序结构并不能解决 ...