|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
目前在学习UVM,对于基于数据传输类型的系统,使用Transaction比较好理解。
但有些模块感觉用Transaction比较困难, 比如下面这个简单的PWM发生器,
请教各位验证老手,这种类型的是怎么用UVM做验证的
- module(
- input clk,
- input rst_n,
- input enable,
- input [11:0] PRD_CNT;
- input [11:0] cmp,
- ouput reg pwm
- );
-
- reg [11:0] cnt;
-
- always @(posedge clk or negedge rst_n) begin
- if(!rst_n)
- cnt <= 12'd0;
- else if(!enable)
- cnt <= 12'd0;
- else if(cnt == PRD_CNT)
- cnt <= 12'd0;
- else
- cnt <= cnt + 1'b1;
- end
-
- always @(posedge clk or negedge rst_n) begin
- if(!rst_n)
- pwm <= 1'b0;
- else if(!enable)
- pwm <= 1'b0;
- else if(cnt == 12'd0)
- pwm <= 1'b0;
- else if(cnt == cmp)
- pwm <= 1'b1;
- end
-
- endmodule
复制代码 |
|