我们再从对可综合代码的支持角度看看systemverilog相比于verilog的优势。针对硬件设计,systemverilog引入了三种进程always_ff,always_comb和always_latch。always_ff用于描述时序逻辑,对应fpga中的触发器,其内部应使用非阻塞(<=)赋值方式,因为它模拟的正是触发器传输数据的方式。always_comb用于描述纯组合逻辑,其内部使用阻塞赋值方式,采用了隐式的全变量敏感列表。always_latch用于描述锁存器。fpga设计中一般不建议使用锁存器。这样,三种进程对应三种场景,无论是设计者还是工具本身对电路意图都非常清晰。在verilog中,只有always,换言之,这三种进程都能通过always实现。例如:
always @(posedge clk) 对应 always_ff@(posedge clk)
always @* 对应always_comb或always_latch
systemverilog引入了转换操作符,支持类型转换、位宽转换和符号转换。
类型转换:casting_type’(expression)
位宽转换:size’(expression)
符号转换:signed’(expression) 和unsigned’(expression)
再从端口映射看,systemverilog支持verilog传统的一一映射方式,如下图所示代码第3行。同时也支持自动匹配,如代码第5行,.clk和.rst会自动与名为clk和rst的信号相连。而更为简洁的是代码第7行所示的.*连接方式,这表明所有端口将自动与其名字相同的信号相连。尽管这三种方式都是可综合的,但从代码风格角度而言,仍然建议采用第3行所示方式。在描述测试文件时,可采用第7行所示方式。
在verilog中,给一个信号所有位赋值为1,需要采用如下图所示方式,而systemverilog可直接采用下图代码第12行所示方式。同时此方式还适用于赋值全0、全x和全z。
在车圈大玩长期“价值”,极狐是懂点“经济学”的!
智能产品需“适老化”改造
LTC4425应用电路 (恒定电流/恒定电压线性充电器)
荣耀代工厂商为深科技和比亚迪电子
为何苹果在智能电视竞争中掉队
SystemVerilog相比于Verilog的优势
超高性价比 从设计到APP全面升级——埃微i6HR手环
面向工业互联网场景的确定性IP网络发布,具有重大意义
单壁碳纳米管在等离子体激元领域中的发展解读
BGA芯片封装和IC芯片封装在不同应用场景下的适用性
5种树莓派HAT介绍
数据中心的复杂性增加了网络安全的挑战
基于RT-Thread官方ART-Pi开发板+自制传感器拓展板
赛力斯华为智选SF5冰城交付用户 戴尔科技提供更好的医疗保健服务
为混合动力车辆 (HEV) 和电动车辆 (EV) 内的电子元器件供电
华为海思麒麟处理器的发展历程
关于物流机器人行业的发展趋势浅析
太阳能光伏系统的分类、组成及工作原理
Innovusion与曹操出行达成战略合作 高阶智能驾驶规模化商业落地
学生党买手机推荐:魅蓝5s、华为荣耀8青春版、红米Note4X、荣耀畅玩6X