摘要: sequence其实不属于验证平台的一部分,他是object而不是component,但是sequence跟component的sequencer密切相关。只有在sequencer的帮助下,sequence产生出的transaction才能最终送给driver。这里就有几个问题:如何去理解trans 阅读全文
posted @ 2019-08-19 22:57 yiwenbo 阅读(2370) 评论(0) 推荐(0) 编辑
摘要: 在设计一个复用器的时候,可以使用时序逻辑去做,即通过if或者case语句去比较选择信号的值;也可以通过组合逻辑去做,即真值表的形式。一般来讲,使用组合逻辑去做APB的Slave MUX比较好,因为APB的速度也不是很快,同时也可以少一个clock cycle。 代码:时序逻辑下的MUX设计方法 al 阅读全文
posted @ 2019-07-02 10:38 yiwenbo 阅读(1343) 评论(0) 推荐(0) 编辑
摘要: 1 什么是断言? 通过在代码中插入对RTL的特征描述,检查RTL代码的关键行为是否和期望的一致(一般检查设计中的控制信号的完整性和数据的完整性),当异常出现时,断言语句会报警。通过这种方法可以快速的定位问题,为测试平台提供自检机制,提高验证效率。。 2 什么是ovl库? Open Verificat 阅读全文
posted @ 2019-07-02 09:14 yiwenbo 阅读(1572) 评论(0) 推荐(0) 编辑
摘要: 通常同步电路由两种复位方式,即同步复位和异步复位。同步复位同步于寄存器的时钟域,异步复位则是立即自然地作用于寄存器,与其寄存器所在的时钟域之间没有确定的时序关系。同步化的异步复位是FPGA电路设计时复位电路的首选。 1 同步复位 1.1 同步复位在外部的情况 代码: module sync_rese 阅读全文
posted @ 2019-07-01 22:23 yiwenbo 阅读(1842) 评论(0) 推荐(1) 编辑
摘要: 前面提到过,在传输结束后不要立即更改地址和写信号,保持当前状态直到开始下一个传输,这样可以降低功耗。这一篇给出另外一种方法,也就是使用门控时钟,来gete住PCLK,在没有寄存器配制的时候,把PCLK关掉,这样可以降低功耗。这个PCLKG也仅仅是在配制Slave的寄存器时候打开,其他时候关闭;在跟P 阅读全文
posted @ 2019-07-01 17:23 yiwenbo 阅读(1189) 评论(0) 推荐(0) 编辑
摘要: 1 模型分析 理解建立时间保持时间需要一个模型,如下图所示。 图:触发器时钟和数据模型 时钟沿到来时采样数据D,将采到的数据寄存下来,并输出到Q端,所以如果没有新的时钟沿到来,则Q端输出的一直是上次采样的数据,每来一个时钟沿,采样一次数据D。那么分析这个建立时间和保持时间,我们分两种情况,一种是cl 阅读全文
posted @ 2019-06-11 16:05 yiwenbo 阅读(8223) 评论(0) 推荐(2) 编辑
摘要: 1 CRG的SPEC参考 1.1 时钟设计需求 (1)生成AHB时钟,APB时钟,RTC时钟;(2)AHB最高时钟频率为98MHz;(3)APB时钟为AHB同步时钟,且可以配置AHB时钟的1/2,1/4,1/8;(4)RTC时钟单独控制时钟,时钟频率1KHz;(5)各外设时钟可以单独门控,满足低功耗 阅读全文
posted @ 2019-06-05 11:29 yiwenbo 阅读(2307) 评论(0) 推荐(1) 编辑
摘要: 记录三个MCU外设系统的内部控制单元:WDT,Timer和RTC 1 WDT 1.1 定义 WDT:whatch dog timer。如何证明如果系统正常运作,可以每隔一定的时间执行某一段代码,如果那段代码没有被执行,那么就说明代码或者系统死掉了。可以这么理解,那段要规律执行的代码就是狗,规律的去执 阅读全文
posted @ 2019-06-04 10:20 yiwenbo 阅读(928) 评论(0) 推荐(0) 编辑
摘要: 这一篇主要讲讲ROM\RAM\Flash的一些零碎知识点,网上也能找到很多资料。 1 ROM 1.1概述 只读存储器(Read-only memory, ROM),当然从广义上来讲,也有一些器件,例如Flash,EPROM等等,通过某种手段可以编程的,也属于ROM的范畴的。ROM一般用在一些程序的存 阅读全文
posted @ 2019-06-02 11:17 yiwenbo 阅读(1810) 评论(0) 推荐(0) 编辑
摘要: 前面做的两个实验,在裸机下跑PS的timer计时器中断,PL到PS的按键中断均工作正常,但是将代码移植到freertos工程时,中断不执行,跟中断无关联的task可以运行。产生这个问题的主要原因,在于PS部分只有一个中断控制器,因此我们只能申请一个中断控制器设备,如果申请了两个,那么不工作是必然的。 阅读全文
posted @ 2019-05-03 10:49 yiwenbo 阅读(3853) 评论(0) 推荐(1) 编辑