verilog中级语法之设计层次描述(十一)

Verilog模型的不同抽象级别:

系统级,算法级,RTL级,门级,开关级

门级描述

一种最直观的电路结构;也是最底层的电路描述。包括:

and 与门; nand 与非门; nor 与或门; or 或门; xor 异或门; xnor 异或非门;

buf 缓冲器; not 非门;

门级声明语句:

<门的类型>[<驱动能力><延时>]<门实例>(端口信号)

例:nand #5 (可选择的)nd1(out,in0,in1,in2);

举例:二选一选择器

module MUX2x1(z,d0,d1,s);
    output z;
	input  d0,d1,s;
	
	and u0(t0,d0,sbar),
	    u1(t1,d1,s);
	not u2(sbar,s);
	or  u3(z,t0,t1);
endmodule

门级描述——由已有模块构成更高层次的模块

举例:四选一多路选择器

 

module MUX4x1(
             input d0,
			 input d1,
			 input d2,
			 input d3,
			 input s0,
			 input s1,
			 output z);
	wire z0;
	wire z1;
	
  MUX2x1 mux2x1_0(
            .z(z0),
			.d0(d0),
			.d1(d1),
			.s0(s0)
			);
  MUX2x1 mux2x1_1(
            .z(z1),
			.d0(d2),
			.d1(d3),
			.s0(s1)
			);
  MUX2x1 mux2x1_2(
            .z(z),
			.d0(z0),
			.d1(z1),
			.s0(s1)
			);
endmodule

行为级描述

其抽象程度远高于结构描述,相当于高级编程语言;

描述设计实体时,无需知道电路结构,只需知道输入和输出行为;

module sample_ff(clk,rstn,din,dout);
   input clk ,rstn;
   input [3:0] din;
   output [3:0] dout;
   reg [3:0] data;
   assign dout=data;
   always@(posedge clk or negedge rstn)
      begin
	    if(!rstn)
		    data <=4'b0;
			else
			data <= din;
	  end
endmodule

混合层次描述

以上各种层次描述方式可以任意混合使用;

一个复杂电路的完整Verilog HDL模型是由其模块构成的,每一个模块又可以由若干个子模块构成,这些模块可以分别用不同抽象级别的Verilog HDL描述,在一个模块中也可以有多种级别的描述。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

创芯人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值