systemverilog 中的 `define ---带参数的宏函数--macro function

1. 用 macro 定义简单的 function,使代码简洁

module top ;
 
  `define A_SRAM_RW(dst_cc_num,src_cc_num)\
     if(strm_sel[``dst_cc_num``] == 1'b1)begin\
       force top.my_dut.strm_in``dst_cc_num``_en = top.my_dut.strm_in``src_cc_num``_en;\
     end
 // 用\ 来续行
  initial begin
    `A_SRAM_RW(1,0)
    `A_SRAM_RW(2,0)//引用宏不需要再末尾加分号
  end
 
endmodule

上面的例子中A_SRAM_RW 为定义的宏函数, dst_cc_num 和 src_cc_num 均为宏的形参,在宏函数中 引用 形参,需要在参数前后加 `` ;

需要注意的是,宏函数 不接受传进来的变量,如下是错误的:--这里有待商榷

generate 
  for(genvar jj=1;jj<`CC_NUM;jj++)begin
    `A_SRAM_RW(jj,0)
  end
endgenerate

//上述的写法只是把 jj 传进了 define 中,并不会把 jj 所代表的值传进去

来看下面例子:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: SystemVerilog IEEE 1800-2017 是一种面向硬件设计的编程语言,主要用于系统级集成电路和芯片设计。这一标准包含了许多功能,例如测试和验证、并行性、属性和断言、重用和组合、多态性等。 在测试和验证方面,SystemVerilog允许设计者添加创建测试向量、显示输出和断言的代码,从而简化测试的工作,并可以在设计时验证设计。在并行性方面,SystemVerilog支持多线程和同步,充分利用了现代计算机的多核处理能力。在属性和断言方面,SystemVerilog可以对设计进行形式化验证,并检测到设计的错误。在重用和组合方面,SystemVerilog支持可重用的程序和模块,并允许开发人员在不同的设计重复使用设计代码。在多态性方面,SystemVerilog支持多态类型、参数函数,这些功能提高了代码的可读性和可维护性。 总体来说,SystemVerilog IEEE 1800-2017 是一个强大而灵活的编程语言,可以大大简化高级计算机和集成电路设计的工作。 ### 回答2: SystemVerilog IEEE 1800-2017.pdf是SystemVerilog的标准文档,它定义了一种硬件描述语言,用于设计和验证现代计算机芯片和电路。 该文档包括了SystemVerilog语言的语法规则、数据类型、控制流结构、函数、任务、类、接口、模块、等相关内容,为硬件设计工程师提供了一套丰富的语言机制和工具,以实现更容易编写和验证复杂的设计和测试。 SystemVerilog的特点包括强大的数据类型支持、多态、多时钟域、复杂的类和继承等。它也允许使用高级特性,如随机性和约束来进行验证,同时也支持集成测试、断言和仿真等关键测试功能。 SystemVerilog的应用涉及到许多领域,包括系统级验证、芯片设计和验证、高级集成电路设计和验证等,它被广泛应用于数字电子产品的开发和制造。对于从事硬件设计和验证领域的工程师和研究人员来说,学习和掌握SystemVerilog语言,是十分必要和有价值的,因为它可以提高工作效率和工作质量,减少开发成本和时间,而SystemVerilog IEEE 1800-2017.pdf则是系统学习和使用SystemVerilog语言的重要参考资料。 ### 回答3: systemverilog ieee 1800-2017.pdf 是一份由国际电气与电子工程师协会(IEEE)发布的规范,它涉及了一种名为SystemVerilog的硬件描述语言。 SystemVerilog在设计和验证芯片上有着广泛的应用。它是Verilog HDL的扩展,加入了类、接口、包、结构体、枚举、并发控制、语言连接和其他新特性,可以更好地支持高级验证和抽象化的设计。 这个规范详细规定了SystemVerilog的语法、语义、规则和语言特性。其,最重要的组成部分是数据类型、并发控制和自动化测试框架。 该规范主要针对硬件设计工程师、验证工程师和EDA工具开发人员。实际应用,SystemVerilog广泛应用于半导体行业、计算机系统和电子设备的设计和测试领域,可以提高设计效率和准确性。 最后,规范的及时更新和完善,可以为SystemVerilog的标准化和可靠性做出贡献,有助于推动行业的进步和发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值