APB Timer验证环境搭建——学习笔记(1)

目录

一、前言

二、Timer模块介绍

 三、验证环境初步搭建

一、前言

        以下为个人学习笔记,如有疏漏,请大家指正补充~~

二、Timer模块介绍

        APB Timer是一个简单的下行计数器,包括一个32位计数器和一组比较器,可以实现多种计时功能。包括生成一次性中断或者定时中断。Timer包括控制寄存器、计数寄存器、比较寄存器和状态寄存器等,通过对这些寄存器的编程,可以实现不同的定时和计时功能。

        1、在Timer工作时,当计数器的值达到比较器的值时,APB Timer会发出一个中断信号TIMERINT,这个信号会被保持,直到INTCLEAR寄存器写入时清除;

        2、双触发器采样(两级同步),避免亚稳态的产生:因为EXTIN作为外部信号和PCLK大概率是两个时钟域,所以为了两个信号一起做逻辑,所以最好经过两级同步实现,同步为PCLK时钟;两级同步要求:外部时钟EXTIN必须比APB时钟PCLK的一半慢;详解请参考:

【 FPGA 】稳态与亚稳态小结_亚稳态和glitch的区别https://blog.csdn.net/Reborn_Lee/article/details/84899344

        3、寄存器:

                CTRL: CTRL[3] 中断的ENABLE;CTRL[2] 选择EXTIN作为CLK;CTRL[1] 选择EXTIN作为ENABLE;CTRL[0] Timer的ENABLE; VALUE:当前的值;RELOAD:Timer重新加载的值;INTSTATUS、INTCLEAR:中断的信号线,read中断、writeclear;PIDx、CIDx:一些状态寄存器;

 三、验证环境初步搭建(1)

        按照框架创建文件;TB下例化design、apb_if、timer_if,接口后面连接;注意Timer的clk可以由apb_clk提供,也可以由EXTIN提供;根据脚本Makefile,编译后跑起仿真;利用工具DVT查看验证基本的验证环境结构;

        

        以上只是搭建了基本的结构,没有与DUT做交互,也没有产生和发送激励,相关的激励都将在接下来完成。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

听个响吧~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值