Verilog 学习日志#第二天

本文详细介绍了Verilog的四种建模方式:行为级、数据流级、门级和开关级。行为级建模关注设计算法,不涉及硬件细节;数据流级建模(RTL)类似布尔方程,描述寄存器传输;门级建模通过内建门级元件实现逻辑功能;开关级建模用于晶体管级设计,提供最大灵活性。设计者可以根据需求在不同抽象级别间切换。
摘要由CSDN通过智能技术生成

模块的描述方式又称建模方式,Verilog既是一门行为化又是一门结构化的HDL语言。根据设计需要,每个模块分为四种抽象级别来进行描述。模块在外部环境中表现是相等的,模块按照以下四类抽象类别进行描述。

行为级或算法级描述方式(行为级建模)

这是Verilog HDL最高抽象级别的描述方式。一个模块可以按照设计算法来实现,而不用关心硬件实现的细节。 行为描述是通过行为语句来实现的,行为功能可使用下述过程语句结构描述。

  • initial 语句:此语句只执行一次
  • always语句:此语句循环执行

只有寄存器类型数据能够在这两种语句中被赋值。寄存器类型数据在被赋新值前保持原值不变。所有的initial语句和always语句在零时刻并发执行。

下面是一个4bit的二进制行波计数器(带进位)为例来说明行为级的描述方式。
4bit 二进制行波计数器电路示意图该计数器由4个T触发器级联而成的,每一级T触发器的输出作为下一级T触发器的时钟输入。下例是用行为级描述方式来实现计数器的一个例子。

module cnt_4bit (q,clear,clock);
	output [3:0] q;
	input clear,clock;

	reg [3:0] q;

	always @(posedge clear or negedge clock)
	begin
		if (clear)
			q=4'd0;
		else
			q=(q+1) % 16;
	end
endmodule

模块cnt_4bit的输出端口q是一个4bit的位矢量,代表4根输出端口线q[3]、q[2]、q[1]、q[0]。由于输出端口要在always语句中被赋值,所以它被定义为reg型(寄存器型)数据。clear和clock是两个输入端口。Always语句中包含一个或事件控制(紧跟在字符@后面的表达式),以及相关联的顺序过程(begin-end对)。此或事件控制的作用是当输入端口clear、clock上发生事件,即clear、cloc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值