verilog 写rtl注意事项_Verilog_RTL级语法常用概念整理

本文主要整理了Verilog RTL级语法的基本概念,包括模块结构、端口定义、数据类型和语句使用。重点阐述了如何描述数据在寄存器间的传输,以及在FPGA设计中如何处理双向口和三态输出。此外,还提到了wire和reg类型的区分,以及parameter参数的使用。
摘要由CSDN通过智能技术生成

Verilog RTL

级语法常用概念整理

RTL

级语法就是可综合的那部分语法内容,它主要用于描述数据如何在寄存器之间传输、

控制和处理。所谓

RTL

级建模也就是用这部分语法内容区描述实际电路的行为。

RTL

级编码过程是心中先有电路,再将它翻译成

Verilog

代码。电路行为的先后顺序通过时

钟节拍的顺序来实现。

RTL

级语法:能综合成门级电路

一、语法基本概念

1

模块基本结构:基本单元是“模块(

module

)

,一个

Verilog

里可以有很多

module

2

端口定义:在顶层模块中,端口对应的物理模型是芯片的管脚,在内部子模块中,端

口对应的物理模型则为内部连线。

3

三态输出端口:信号设三态,相当于与总线断开。

4

对双向口(

inout

)建模:

FPGA

内部没有双向端口,内部信号均为单一流向,输入输

出采用单独信号表示,不能复用在一起,只有芯片接口的信号才能定义为双向口。

二、

数据类型

1

数据宽度:

wire[15:0] a; //

描述了一个位宽为

16

的信号。

2

接线(

Net

)

:凡电路连接支点均称为接线,声明用

wire

型,并以

Z

default

值。总

线(

Bus

)则是接线的组合,声明也用

wire

型(

wire

型数据不能赋值)

。在实际应用中,

是使用连续赋值语句(

assign

)赋值的信号都定义为

wire

型,在模块例化时,要将具有连线

意义的信号定义为

wire

型。

3

寄存器型(

reg

型)

:在时序逻辑中它对应的是寄存器,在组合逻辑中表示一个节点,在

实际应用中,凡是在

initial/always

块中的被赋值信号都必须定义为

reg

型。

reg[31:0]

mem[1023:0];//

定义了一个位宽为

32

,深度为

1024

的存储单元。

4

参数型(

parameter

)

:用来定义在程序内部仿真时保持不变的常数,以增进程序的可读

性。

三、

语句

1

assign

语句:无论等式右端怎样变化,等式左端的值马上产生相应变化。连续赋值是对

组合逻辑的描述。等式左端的数据必须是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值