上一篇文章提到了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)的更多相关文章

  1. 深入研究C语言 第一篇(续)

    没有读过第一篇的读者,可以点击这里,阅读深入研究C语言的第一篇. 问题一:如何打印变量的地址? 我们用取地址符&,可以取到变量的偏移地址,用DS可以取到变量的段地址. 1.全局变量: 我们看到 ...

  2. 深入研究C语言 第二篇(续)

    1. 关于如下的程序,关于结构体的拷贝,拷贝是拷贝到内存中的什么地方? 我们进入debug进行反汇编,单步等操作跟踪查看.发现: 在main中,我们看到call 0266应该对应的是转跳到func处执 ...

  3. FPGA基础(verilog语言)——语法篇

    verilog语言简介 verilog语言是一种语法类似于c的语言,但是与c语言也有不同之处,比如: 1.verilog语言是并行的,每个always块都是同时执行,而c语言是顺序执行的 2.veri ...

  4. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...

  5. FPGA基础入门篇(四) 边沿检测电路

    FPGA基础入门篇(四)--边沿检测电路 一.边沿检测 边沿检测,就是检测输入信号,或者FPGA内部逻辑信号的跳变,即上升沿或者下降沿的检测.在检测到所需要的边沿后产生一个高电平的脉冲.这在FPGA电 ...

  6. Scala快速入门 - 基础语法篇

    本篇文章首发于头条号Scala快速入门 - 基础语法篇,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的 ...

  7. R语言语法基础二

    R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...

  8. R语言语法基础一

    R语言语法基础一 Hello world #这里是注释 myString = "hello world" print(myString) [1] "hello world ...

  9. GO语言基础(结构+语法+类型+变量)

    GO语言基础(结构+语法+类型+变量) Go语言结构 Go语言语法 Go语言类型 Go语言变量       Go 语言结构 Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 &a ...

  10. C语言函数篇(二)函数参数基础设计

    形参实现一种数据传入的接口 ,由 实参 拷贝给 形参. 拷贝!!!!!!!!!!! 例1: void func(int tmp){ //意图是实现传进来的参数 +1 tmp++; } int mian ...

随机推荐

  1. GStreamer基础教程11 - 与QT集成

    摘要 通常我们的播放引擎需要和GUI进行集成,在使用GStreamer时,GStreamre会负责媒体的播放及控制,GUI会负责处理用户的交互操作以及创建显示的窗口.本例中我们将结合QT介绍如何指定G ...

  2. day08整理(周总结\列表\字典内置方法)

    一.周总结 一 计算机基础之编程 1.什么是编程语言 编程是人与计算机交流的介质 2.什么是编程 通过编程语言写一堆文件 3,为什么编程 取代劳动力,帮人类干活 二 计算机组成 1.CPU 控制器 控 ...

  3. UNIX环境高级编程 使用方法

    1.解压文件到apue.2e目录2.修改相应平台的文件,我使用的是linux,所以修改Make.defines.linux你修改的只需要这一行WKDIR=/home/your_dir/apue2e_s ...

  4. Fine-Grained(细粒度) Image – Papers, Codes and Datasets

    Table of contents Introduction Survey papers Benchmark datasets Fine-grained image recognition Fine- ...

  5. 基于SkyWalking的分布式跟踪系统 - 微服务监控

    上一篇文章我们搭建了基于SkyWalking分布式跟踪环境,今天聊聊使用SkyWalking监控我们的微服务(DUBBO) 服务案例 假设你有个订单微服务,包含以下组件 MySQL数据库分表分库(2台 ...

  6. SpringBoot中在除Controller层 使用Validation的方式

    说明:Validation 在Controller层使用Validation应该都使用过了,以下方式可以使用 Validation 在Service层完成对dto的属性校验,避免写一堆的 if els ...

  7. 图片瀑布流,so easy!

    什么是图片瀑布流 用一张花瓣网页的图片布局可以很清楚看出图片瀑布流的样子: 简单来说,就是有很多图片平铺在页面上,每张图片的宽度相同,但是高度不同,这样错落有致的排列出 n 列的样子很像瀑布,于是就有 ...

  8. cdq分治 陌上花开(内无题解)

    由于有归并排序 要注意是对原来的那个元素进行更新答案和删除操作 而不是占据原来那个元素下标的元素

  9. 『题解』洛谷P1063 能量项链

    原文地址 Problem Portal Portal1:Luogu Portal2:LibreOJ Portal3:Vijos Description 在\(Mars\)星球上,每个\(Mars\)人 ...

  10. 『题解』洛谷P5015 标题统计

    题意描述 给你一个字符串,求所有字符的总数. 字符只包含数字,大小写字母. 分析 字符串的长度还是\(\le5\)的. 直接枚举就可以了. AC代码: NOIP官方标准程序是这样的 #include ...