当前位置: 首页 > news >正文

网站建设各模块功能简述短期培训班学什么好

网站建设各模块功能简述,短期培训班学什么好,建站模板免费,国外网站空间需要备案吗apb协议 写时序 地址、写信号、PSEL、写数据信号同时发生变化#xff0c;即传输的第一个时钟被称为SETUP周期。在下个时钟上升沿,PENABLE信号拉高#xff0c;表示ENABLE周期#xff0c;在该周期内#xff0c;数据、地址以及控制信号都必须保持有效。整个写传输在这个周期…apb协议 写时序 地址、写信号、PSEL、写数据信号同时发生变化即传输的第一个时钟被称为SETUP周期。在下个时钟上升沿,PENABLE信号拉高表示ENABLE周期在该周期内数据、地址以及控制信号都必须保持有效。整个写传输在这个周期结束时完成: 读时序 地址、写信号、PSEL信号同时发生变化在下个时钟上升沿,PENABLE信号拉高从机必须在ENABLE周期内提供读数据 Sequencer 充当激励环节的路由器作用管理sequence也传递数据仲裁某一时刻传递哪个sequence的数据 uvm_sequencer#(REQ,RSP) REQrequestRSPresponse//一般相同default_sequence 决定接数据的类型seq_item_export 决定送数据的driver sequencer的实现 class apb_sequencer extends uvm_sequencer #(apb_trans);uvm_component_utils(apb_sequencer);function new(string name,uvm_component parent);super.new(name,parent);endfunction endclass简便方法(不建议使用) typedef uvm_sequencer #(apb_trans) apb_sequencer;virtual sequencer 不同的sequence需要不同的sequencer控制其他的sequencer不和任何driver相连本身不处理item 实现与sequencer相同其中可以定义子sequencer Driver driver和monitor都是数据转换类型但方向相反 driver的方法 get_next_item阻塞 try_next_item不阻塞 item_done不阻塞driver的使用 uvm_driver(REQ,REP) seq_item_port.get_next_item(req);//get上述括号内传来的句柄driver的实现 class apb_driver extends uvm_driver #(apb_trans);uvm_component_utils(apb_driver)//定义虚接口virtual apb_interface vif;function new(string name,uvm_component parent);super.new(name,parent);endfunction//config_db连接虚接口function void connect_phase(uvm_phase phase);super.connect_phase(phase);if(!uvm_config_db #(virtual apb_interface)::get(this,,vif,vif);uvm_fatal(NOvif,NOvif for apb_driver);endendfunctiontask run_phase(uvm_phase phase);super.run_phase(phase);vif.paddr0;vif.pwdata0;vif.pwrite0;vif.psel0;vif.penable0;tx_driver();endtask//从seq_item_port获取transactiontask tx_driver();forever beginseq_item_port.get_next_item(req);send(req);seq_item_port.item_done();endendtask//给vif传送transactiontask send(apb_trans tr);case(tr.dir)apb_trans::RD:begin(posedge vif.clk);vif.paddrtr.addr;vif.pwrite0;vif.psel1;(posedge vif.clk);vif.penable1;(posedge vif.clk);tr.datavif.prdata;vif.psel0;vif.penable0;endapb_trans::WR:begin(posedge vif.clk);vif.paddrtr.addr;vif.pwdatatr.data;vif.psel1;vif.pwrite1;(posedge vif.clk);vif.penable1;(posedge vif.clk);tr.datavif.prdata;vif.psel0;vif.penable0;endendcase endclassMonitor 源码中没有定义port monitor不用像driver一样按时序操作的原因 drivertransaction→DUTDUT时序要求正确 monitorDUT→transaction验证没有时序的概念只关注行为monitor的实现 class apb_monitor extends uvm_monitor;uvm_component_utils(apb_moitor);//定义虚接口virtual apb_interface vif;//利用uvm_analysis_port创建apb_mon_portuvm_analysis_port #(apb_trans) apb_mon_port;function new(string name,uvm_component parent);super.new(name,parent);endfunctionconfig_db连接虚接口,new apb_mon_portfunction void build_phase(uvm_phase phase);super.build_phase(phase);if(!uvm_config_db #(virtual apb_interface)::get(this,,vif,vif);uvm_fatal(NOvif,NOvif for apb_monitor);endapb_mon_portnew(apb_mon_port,this);endfunction//从vif获取transaction要create transaction写入apb_mon_port中base_test中会与scoreboard的uvm_analysis_imp连接task run_phase(uvm_phase phase);super.run_phase(phase);forever beginapb_trans tr apb_trans::type_id::create(tr,this);(posedge vif.clk);if(vif.psel1 vif.penable1)begintr.dir(vif.pwrite)?apb_trans::WR:apb_trans::RD;tr.addrvif.paddr;tr.data(vif.pwrite)?vif.pwdata:vif.prdata;apb_mon_port.write(tr);endendendtask endclass
http://www.w-s-a.com/news/841324/

相关文章:

  • 网站开发者所有权归属网站项目建设的必要性
  • 菜鸟网站编程广州网站设计权威乐云践新
  • 网站做接口到app 价格大地资源免费视频观看
  • 怎么给钓鱼网站做防红网站建设相关的
  • 教育培训的网站建设湖南网站建设小公司
  • 福建南平网站建设创意交易平台网
  • 做直播网站要哪些技术内容营销理论
  • 价格划算的网站开发怎么找有赞做网站
  • 做网站店铺图片用什么软件网络营销方案格式
  • 做外贸要自己建网站吗有效的网络营销方式
  • 精通网站开发书籍做网站获取手机号码
  • 论坛做视频网站有哪些济南新站seo外包
  • 哪类型网站容易做冷水滩做微网站
  • 搭建企业网站流程保定徐水网站建设
  • 建设单位到江川区住房和城乡建设局网站伦敦 wordpress 设计
  • 响应式网站的服务麦德龙网站建设目标
  • 做国外单的网站叫什么海南省海口市网站建设
  • 杭州响应式网站案例wordpress5.2.2
  • 网站建设运营维护合同wordpress资源搜索插件
  • 国外网站流量查询东莞网站建设教程
  • 餐饮类网站建设达到的作用东莞工程建设交易中心网
  • 网站设计 知识产权湖北网站建设xiduyun
  • 猫咪网站模版下载中国风 古典 红色 网站源代码
  • 个人网站备案模板制作网站首页
  • 潍坊正规建设网站网站建设设计作业
  • 推荐一下网站谢谢辽宁住房城乡建设部官方网站
  • 网站文件大小英选 网站开发
  • 济南建网站哪家好wordpress编辑器排行
  • 在福州做搬家网站多少钱画册设计网站有哪些
  • 如何让别人浏览我做的网站哪些方法可以建设网站