不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我
欢迎大家加入2022届数字IC交流群,QQ群号 1060380138
上期答案
[067] 独热码在设计中有什么好处?
独热码中,状态转换时,会有两位改变,一位清零,一位置一。它的优点时,不需要进行解码就能知道当前的状态。独热码会使用更多的触发器,但是更加少的组合逻辑,在时序电路中不需要用解码逻辑进行区分状态。
[068] 在任何一种编程语言中,静态(static)变量和自动(automatic)变量,局部(local)变量和全局(global)变量之间有什么区别?
区分这些名词需要两个概念,作用域(scope)和存储持续时间(storage duration),前者定义了在何处可以访问变量,后者定义了在何时可以访问变量。
-
按照变量的作用域可以区分局部(local)和全局(global)变量。局部变量的作用范围有限,尽在声明它们的代码块中可见。而全局变量在声明后在程序的任何位置都可见。 -
存储持续时间可以区分自动(automatic)变量和静态(static)变量。静态变量的生命周其一直持续到程序结束,因此可以始终访问。自动变量具有有限的生命周期,只能持续到程序离开定义的块或者作用域为止。
例如:在以下的systemverilog代码中,global_int被声明为类成员,并且在整个类中具有全局作用域,而当取消引用该类的对象时,其生命期结束。global_static变量被声明为静态变量并具有全局作用域整个类以及整个程序的生命周期,即使取消引用类的对象也存在。sum变量对于函数compute()是局部的,并且仅在函数内部可见,并且仅在compute执行时存在, count变量在函数compute()中是局部变量,仅在函数范围内可见,但由于它是静态的,因此即使在多次执行函数compute()之后,它也只有单个副本并保留该值.
class test_class;
int global_int; //automatic by default
static global_static; //global static variable
void function compute()
begin
static int count; //local static variable
local int sum; //local automatic variable
sum = sum +1;
count = count +sum;
end
endfunction
endclass
你答对了吗
本期题目
[069] 什么是内联(inline)函数?
[070] 什么是正则表达式?
欢迎在留言区给出你的答案,正确答案将在下一期公布,或者到下面的文章获取答案
👉👉👉《面试攻略》👈👈👈
由于微信的读者讨论功能停止测试了,请要答题的同学,扫描下面的二维码跳转到博客园进行评论
打个广告
路科验证V2课程大升级啦,升级后的V2pro,不仅保留了原本V2的所有内容,还添加了关于vim、linux、DVT的操作教程,以及寄存器模型自动化,更有定制的个性项目,为你的简历添砖加瓦。如果想要学习SV和UVM,想要入门或者转行验证,路科验证V2pro不容错过!如果对课程有兴趣可以后台联系我,可以获得优惠!
👉路科拍了拍你 | 嘿 别忘了 V2Pro秋季班本周日就开班哟👈
后台回复路科验证还可以享受200元优惠!!!欢迎报名~
静态时序分析圣经翻译计划
本文分享自微信公众号 - 摸鱼范式(icparadigm)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4081083/blog/4834709