书写Verilog仿真激励时需要注意的细节

105 篇文章 13 订阅

         分析上面的EMIF时序,可以将其分为3部分,开始、中间和结束三部分。在书写激励时,开始和结束部分一定要满足时序要求,这是平时在书写激励时不容易注意的点。

reg CE,clk,AOE,ARE,AWE,ARDY;
reg [21:2] EA;
reg [31:0] ED;
task emif_interface(input  [21:2] addr);
	begin
	block start,
	//BE[3:0]、EA[21:2]、ARDY为无关态,不需要赋值
		CE<=1;
		AOE<=1;
		ARE<=1;
		AWE<=1;
		#3 ;
	//block start 
		@(posedge clk);
			#1 CE<=0;
			BE<='d1;
			EA<=addr;
			AOE<=1;
		@(posedge clk);
		@(posedge clk);
			#2 ARE<=0;
		@(posedge clk);
		@(negedge clk);
			#1  ARDY<=0;
		@(posedge clk);
		@(posedge clk);
		@(negedge clk);
			#1  ARDY<=1;
		@(posedge clk);
			#1  ARDY<=z;
		@(posedge clk);
			#1 ED<='d3;
		@(posedge clk);
			#2 ARE<=1;
		@(negedge clk);
			#1 ED<=z;	
	//结束块
		@(posedge clk);
			#CE<=1;
			AOE<=1;	
	end
	endtask

在时序开始时,根据时序图先对某些信号赋值,延后延时一段时间,这样就可以保证时序正确。如下所示:

		CE<=1;
		AOE<=1;
		ARE<=1;
		AWE<=1;
		#3 ;


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值