09 2018 档案

$cast
摘要:$cast可以作为task,也可以作为function。作为task时,当cast失败,会产生runtime error, 作为function时,cast成功返回1,失败返回0,不会产生runtime error。$cast是动态类型转换,只在runtime check,而静态类型转换是compi 阅读全文

posted @ 2018-09-27 14:38 lybinger 阅读(335) 评论(0) 推荐(0)

SKP用途
摘要:SKP用于Clock Tolerance Compensation. SKP Ordered Set用来补偿Link两端的比特速率之间的差异。接收端必须要有elastic buffer来进行补偿。发送端和接收端可容忍600ppm的差异,也就是每1666个clock就会产生1个clock的偏移。 一: 阅读全文

posted @ 2018-09-13 17:15 lybinger 阅读(3368) 评论(0) 推荐(0)

Logical Idle state
摘要:当没有包或者OS传输的时候,发送端就处于Logical Idle状态。此时,会发送idle data。idle data是由IDLE symbol (00)构成,也需要像传输正常TLP/DLLP一样进心scramble和8b/10b encode。同样跟TLP/DLLP一样,SKP OS也需要发送。 阅读全文

posted @ 2018-09-13 11:19 lybinger 阅读(628) 评论(0) 推荐(0)

mutli-lane情况
摘要:PCIE3.0支持x1,x2,x4,x8,x16,x32 Lane widths. 在多条Lane情况下,有2类symbol framing,一类包含Ordered Sets,一类是TLP和DLLP。 Ordered Sets会同时在每条Lane上传输,所以每条Lane都会有完整的OS. 对于TLP 阅读全文

posted @ 2018-09-13 11:13 lybinger 阅读(600) 评论(0) 推荐(0)

uvm_reg 与 uvm_rgm
摘要:1. uvm_reg 寄存器类型是uvm_reg class,定义了寄存器的各个比特,包括名字,初始值,比特位大小,然后再在uvm_reg_block里面将各个寄存器例化,设置名字,地址等。 然后在env里面例化uvm_reg_block, 设置它的bus sequencer/adapter, 以及 阅读全文

posted @ 2018-09-03 16:57 lybinger 阅读(986) 评论(0) 推荐(0)

uvm ahb adapter
摘要:1. define ahb_adapter class ahb_adapter extends uvm_reg_adapter; define 2 functions: virtual function uvm_sequence_item reg2bus(const ref uvm_reg_bus_ 阅读全文

posted @ 2018-09-03 15:32 lybinger 阅读(810) 评论(0) 推荐(0)

导航