标签:constraint haa Constraint 2b payld EtherPacket size
1 module top; 2 class PacketBase; 3 rand bit [7:0] src; 4 rand bit [5:0] len; 5 rand bit [7:0] payld [ ]; 6 constraint payload_size {payld.size > 0; payld.size < 15;} 7 endclass 8 class EtherPacket extends PacketBase; 9 constraint c1 {src inside {[8'h2A:8'h2F]};} 10 constraint c2 {len inside {[0:31]}; } 11 constraint payload_size {payld.size > 15; payld.size < 20;} 12 constraint c3 {foreach (payld[i]) { (payld[i]) == 'haa;} } 13 function show; 14 $display("EtherPacket = %h %h %p", src, len, payld); 15 16 endfunction:show 17 endclass 18 class stim_gen; 19 task run; 20 EtherPacket e1; 21 e1 = new( ); 22 for(int i = 0; i<8; i++) begin 23 e1.randomize; 24 e1.show; 25 end 26 endtask 27 endclass: stim_gen 28 initial begin 29 stim_gen st1; 30 st1 = new( ); 31 st1.run; 32 endendfunction:show 33 endclass 34 class stim_gen; 35 task run; 36 EtherPacket e1; 37 e1 = new( ); 38 for(int i = 0; i<8; i++) begin 39 e1.randomize; 40 e1.show; 41 end 42 endtask 43 endclass: stim_gen 44 initial begin 45 stim_gen st1; 46 st1 = new( ); 47 st1.run; 48 end 49 endmodule
关于constraint的一个小例子,执行结果如下
EtherPacket = 2b 1e '{'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa}
EtherPacket = 2b 00 '{'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa}
EtherPacket = 2d 17 '{'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa}
EtherPacket = 2e 0f '{'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa}
EtherPacket = 2b 0d '{'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa}
EtherPacket = 2a 13 '{'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa}
EtherPacket = 2f 1e '{'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa}
EtherPacket = 2b 04 '{'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa, 'haa}
V C S S i m u l a t i o n R e p o r t
Time: 0 ns
CPU Time: 0.540 seconds; Data structure size: 0.1Mb
标签:constraint,haa,Constraint,2b,payld,EtherPacket,size 来源: https://www.cnblogs.com/xiangtianxiao/p/16592694.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。