恋爱Program

这篇帖子以一种幽默的方式用伪代码模拟了两个人之间的感情发展过程,包括努力赚钱、送礼物等行为,最终决定是否能在一起。

在内部论坛上看人帖出了这个,感觉很有意思。与大家一起分享一下。呵呵。。

resultlove(boy,girl)
{
-
  
if(boy.有房()andboy.有车())
   {
-
    boy.set(nothing);
    
returngirl.嫁给(boy);
  }
  
if(girl.愿意等())
  {
-
   
while(!(boy.赚钱>100,000andgirl.感情>8)

   {
-
    
for(day=1;day<=365;day++)
    {
-
     
if(day==情人节)
     
if(boy.givegirl(玫瑰))
      girl.感情
++;
      
else
       girl.感情
--;

       
if(day==girl.生日)
     
if(boy.givegirl(玫瑰))
        girl.感情
++;
        
else
        girl.感情
--;

      boy.拼命赚钱();
     }
    }
    
if(boy.有房()andboy.有车())
   {
-
  boy.set(nothing);
 
returngirl.嫁给(boy);
 }

   年龄
++;
   girl.感情
--;
  }

  
returngirl.goto(another_boy);
}
}
`program` 块是 SystemVerilog 中用于编写测试平台(TB)的一种结构,以下是关于 `program` 块的详细介绍: ### 主要特点 1. **执行时域**:`program` 块在 reactive 时域执行,而 `module` 在 active 时域执行,所以 `program` 在 `module` 后执行,这有助于解决竞争冒险现象[^1]。 2. **定义嵌套**:`module` 里可以定义 `program`,但 `program` 里不能定义 `module`[^1]。 3. **调用规则**:`module` 里不能调用 `program` 里定义的 `task`、`function`,而 `program` 可以调用 `module` 里定义的 `task` 和 `function`。通常,设计单元(DUT)用 `module`,测试平台(TB)用 `program`,TB 可以例化 DUT,因此 `program` 可以调用 `module` 里的内容,反之则不行[^1]。 4. **内容限制**:`program` 里不能例化 `module`、`interface`、其他 `program`,也不能包含 `always` 块[^1]。 ### 使用方法 以下是一个简单的 `program` 块使用示例: ```systemverilog module dut; reg a, b; wire c; // 简单的逻辑门 assign c = a & b; task set_inputs(input reg in_a, input reg in_b); a = in_a; b = in_b; endtask endmodule program tb; reg clk; dut uut(); initial begin // 初始化时钟 clk = 0; forever #5 clk = ~clk; end initial begin // 调用 module 里的 task uut.set_inputs(1'b0, 1'b0); #10; uut.set_inputs(1'b0, 1'b1); #10; uut.set_inputs(1'b1, 1'b0); #10; uut.set_inputs(1'b1, 1'b1); #10; $finish; end endprogram ``` 在这个示例中,`module dut` 是设计单元,`program tb` 是测试平台。`program` 块中例化了 `dut` 模块,并调用了 `dut` 模块里的 `task set_inputs` 来设置输入信号。 ### 用途 `program` 块主要用于编写测试平台,对设计单元进行功能验证。通过在 `program` 块中产生激励信号,并观察设计单元的输出响应,从而判断设计单元是否符合预期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值