日常记录(93)段内容

bss、data、text、heap、stack

https://blog.csdn.net/petershina/article/details/45198261

  • bss段存放未初始化的全局变量(包括static的未初始化的全局变量)。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。
  • data段存放已初始化的全局变量(静态内存分配)
  • text段存放程序执行的代码
  • heap段是malloc等相关
  • stack段是局部变量

正则表达式^//\s*(\d+)\w\w匹配的内容

  • 第一个// 2af
  • \s表示空白内容

// 2af
//j2dd
//aafdsf
\dfsdfs;;
// a12dd

随机

  • 随机测试相比于定向测试,减少了定向测试的代码量。
  • 随机值只能是二值逻辑,logic类型也是如此,随机信息不会出现x或z。
^\/\/\s*(\d+)\w\w

约束

几个关键词:
dist
inside
一个方法
constraint_mode
一个内嵌
with
一个修饰
soft
两个回调
pre_randomize
post_randomize
一个重点函数参数
randomize(value)

点击查看代码
module taa ();
    class rand_te;
        randc logic [2:0] a;
    endclass: rand_te

    initial begin
        rand_te r_ins = new();
        for (int i = 0; i < 10; i++) begin
            r_ins.randomize(a);
            $display("value a is %d", r_ins.a);
        end
    end
endmodule

randsequence

cfg_read的可能性是1,io_read的可能性是2,mem_read的可能性是5.
cfg_read的一半可能性是执行cfg_read_task,另一半是执行cfg_read_task后,再次执行cfg_read;其它同理。
image

randcase

randcase(x)
x1:。。。
x2:。。。
endcase
posted @ 2022-06-09 21:50  大浪淘沙、  阅读(29)  评论(0)    收藏  举报