functional coverage
2021/9/10 6:03:55
本文主要是介绍functional coverage,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
cp_x: coverpoint x{ bins mod3[] = {[0:255]} with (item % 3 == 0); } cp_b: coverpoint b{ bins func[] = cp_b with (myfunc(item)); } /// class sram_monitor; virtual sram_interface sram_vif; covergroup cg_read with function sample(int addr, ); cp_addr: coverpoint addr { bins valid[] = {[0:63]}; } cp_addr_region: coverpoint addr{ bins min = {0}; bins max = {63}; bins boundary[] = {1,2,61,62};//4 bins: boundary_1,boundary_2,... bins others[] = default;//values not lie within any of the above } endgroup bins fixed[4] = { [1:10], 1, 4, 7 }; covergroup cg_sram_rw with function sample(mem_rw req); cp_rw: coverpoint req.rw; cp_addr: coverpoint req.addr {bins valid[] = {[0:63]};} cp_wdata: coverpoint req.wdata iff(req.rw==WRITE); cp_rdata: coverpoint req.wdata iff(req.rw==READ); cp_rw_X_cp_addr: cross cp_rw, cp_addr; endgroup coverpoint a { bins valid[] = {[4:6]}; ignore_bins ignore_vals = {7,8}; illegal_bins bad_vals = {1,2,3}; } endgroup function new(); cg_read = new(); endfunction task monitor_read(); while (1) begin @(posedge sram_vif.clk); if (sram_vif.cs & (~sram_vif.we)) begin $display("@%0t:sample coverage for addr=%0d!", $time(), sram_vif.read_addr); cg_read.sample(sram_vif.read_addr); end end endtask endclass // Code example of functional coverage model covergroup tx_word_format_cg WORD_LENGTH: coverpoint lcr[1:0] { bins bits_5 = {0}; bins bits_6 = {1}; bins bits_7 = {2}; illegal_bins bits_8 = {3}; } STOP_BITS: coverpoint lcr[2] { bins stop_1 = {0}; bins stop_2 = {1}; } PARITY: coverpoint lcr[5:3] { bins no_parity = {3’b000, 3’b010, 3’b100, 3’b110}; bins even_parity = {3’b011}; bins odd_parity = {3’b001}; bins stick1_parity = {3’b101}; bins stick0_parity = {3’b111}; } WORD_FORMAT: cross WORD_LENGTH, STOP_BITS, PARITY; endgroup: tx_word_format_cg
这篇关于functional coverage的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享