当前位置: 首页 > news >正文

2-verilog-基础语法

verilog基础语法

1.逻辑值

Verilog语言扩展了二进制逻辑,包括"0"、“1”、"X"和"Z"四种状态。
"X"代表未知或不关心,在casex和casez条件中使用;
"Z"表示高阻状态,常用于三态总线建模。
在实际电路中,可能存在0、1和Z,亚稳态则是一种不稳定的状态。Verilog中,"X"和"Z"不区分大小写。

2.数字进制格式

Verilog数字进制格式包括二进制、八进制、十进制和十六进制。
一般常用的为二进制、十进制和十六进制。
二进制表示如下:4’b0111 表示4位二进制数字0111
十进制表示如下:4’d7 表示4位十进制数字7(二进制0111)
十六进制表示如下:4’hb 表示4位十六进制数字b(二进制1011)
16’b1000_1010_1010_1000 = 16’h8AA8

3.数据类型-reg型

reg寄存器,表示一个抽象的数据存储单元,通过赋值语句可以改变寄存器的值,默认初始值为X不定值。
只能在always和initial语句中赋值。
如果是时序逻辑,always语句中带有时钟信号,则为触发器。
如果是组合逻辑,always不带时钟信号,则该寄存器为硬件连线。
列:reg [31:0] delay_cnt;
列:reg led_cnt;//没有给出位宽默认是1位

4.数据类型-wire型

wire线网类型,表示结构实体间的物理连线。
他不能存储值,他得值是由驱动他的元件所决定的。
经常用来表示以assign为关键字的组合逻辑信号.
如果没有驱动元件,则变量就是高阻的,Z。
列:wire key_in;

5.数据类型-参数型

参数就是一个常量,parameter定义。
类似于C语言的define
常用于状态机,数据位宽
提高程序的可读性
模块调用时,可以通过参数传递来改变被调用模块的参数值。
列:parameter usart_baud= 9600 ;

6.条件运算

a?b:c;//表示如果a为真,则选择b,否则选择c

7.运算符>> <<

右移运算
<<左移运算
两种运算都用0来填补移出的空位
左移时位宽增加,右移时位宽不变
4‘b1101<<2=6’b110100

8.拼接运算符

{a,b}//将a与b拼接起来。作为一个新的信号

9.算数运算符

±*/%^

10.关系运算符

< > != == >= <=

11.逻辑运算符

! && ||

http://www.dtcms.com/a/304622.html

相关文章:

  • AI: 告别过时信息, 用RAG和一份PDF 为LLM打造一个随需更新的“外脑”
  • go install报错: should be v0 or v1, not v2问题解决
  • React图标库推荐与选择建议
  • 【Spring-cloud-OpenFegin源码解析】
  • VitePress学习笔记
  • 编程算法在金融、医疗、教育、制造业的落地应用。
  • 云服务器上基于lora微调Qwen2.5-VL-7b-Instruct模型之Lora微调代码讲解
  • Netty中InternalThreadLocalMap的作用
  • Rust实现GPU驱动的2D渲染引擎
  • Vue3 学习教程,从入门到精通, Vue3 自定义指令语法知识点及案例(20)
  • c++ nlohmann/json读写json文件
  • JavaWeb学习打卡18(JDBC案例详解)
  • ansible 使用更高版本的python版本
  • Python中的决策树机器学习模型简要介绍和代码示例(基于sklearn)
  • 【牛客网C语言刷题合集】(五)——主要二进制、操作符部分
  • GO 开发环境安装及配置
  • Claude Code 使用教程(对接智谱模型)
  • 84、【OS】【Nuttx】【启动】栈溢出保护:asm 关键字(下)
  • SpringBoot集成Quzrtz实现定时任务
  • 【目标检测】小样本度量学习
  • 记录一个TI DSP编译器的Bug
  • CentOS安装ffmpeg并转码视频为mp4
  • 预过滤环境光贴图制作教程:第四阶段 - Lambert 无权重预过滤(Stage 3)
  • 预过滤环境光贴图制作教程:第一步 - HDR 转立方体贴图
  • Android Compose 自定义组件完全指南
  • 对College数据进行多模型预测(R语言)
  • 《React与Vue构建TODO应用的深层逻辑》
  • 【lucene】SegmentCoreReaders
  • linux_前台,后台进程
  • LeetCode热题100——155. 最小栈