0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

现在公司里做设计是用SV还是Verilog?

ruikundianzi 来源:硅农 2023-11-15 17:43 次阅读

省流:不同的公司风格不同,都会使用。

数字电路设计主要就是,选择器、全加器、比较器,乘法器,几个常用逻辑门,再加个D触发器,电路基本都能实现了。

切换到具体语法System Verilog本来就是Verilog的语法扩展,所以Verilog支持的SV都支持。

组合逻辑用assign是同样的,用always_comb代替always @*。

时序逻辑用always_ff @(posedge clk or negedge rst_n)代替always @(posedge clk or negedge rst_n)

信号声明logic代替wire/reg。不用再繁琐的区分数据类型。

端口声明可以用多维数组。一些处理用generate for不要太爽。

以上这几条改变不大,可以无缝适应。

接口Interface

SystemVerilog提供了一个新的、高层抽象的模块连接,这个连接被称为接口(Interface)。它可以将常用的比较规范的端口定义出来,方便集成连接。

举个例子,首先定义一组interface,文件为interface.vh


interface chip_bus (input logic clock, resetn);
    logic interrupt_req, grant, ready;
    logic [31:0] address;
    wire [63:0] data;
    modport master (input interrupt_req,
        input address,
        output grant, ready,
        inout data,
        input clock, resetn);
    modport slave (output interrupt_req,
        output address,
        input grant, ready,
        inout data,
        input clock, resetn);
endinterface
然后在子模块中就可以include使用这一组定义。
`include "interface.vh"
module primary(
chip_bus.mater    local_bus,
chip_bus.slave    primary_local_bus,
input        clock, 
input        resetn
);


endmodule


`include "interface.vh"
module secondary(
chip_bus.slave    local_bus,
chip_bus.master  secondary_local_bus,
`ifdef FPGA
input        fpga_clk,
`endif
input        clock, 
input        resetn
);


endmodule


最后在top中例化两个子模块,top上也可以定义interface,直接连接到子模块,两个子模块之间的interface连接在顶层定义一个用于连线的interface。

`include "interface.vh"


module top (
chip_bus.master    secondary_local_bus,
chip_bus.slave    primary_local_bus,
`ifdef FPGA
input        fpga_clk,
`endif
input    clock, 
input    resetn
);


chip_bus local_bus();
 
primary u_primary(/*autoinst*/
        .local_bus              (local_bus.master               ), //interface//ahb_bus.mater
        .primary_local_bus      (primary_local_bus              ), //interface//axi_bus.slave
        .clock                  (clock                          ), //input
        .resetn                 (resetn                         )  //input
    );


secondary u_secondary(/*autoinst*/
        .local_bus              (local_bus.slave                ), //interface//ahb_bus.slave
        .secondary_local_bus    (secondary_local_bus            ), //interface//axi_bus.master
        `ifdef FPGA
        .fpga_clk               (fpga_clk                       ), //input
        `endif
        .clock                  (clock                          ), //input
        .resetn                 (resetn                         )  //input
    );


endmodule
使用interface可以提高集成的效率,不容易出错,方便检视。 当然要是问我推荐用SV还是Verilog,我建议是遵守公司代码规范,公司让用啥就用啥。






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 比较器
    +关注

    关注

    14

    文章

    1633

    浏览量

    107095
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109976
  • D触发器
    +关注

    关注

    3

    文章

    164

    浏览量

    47861
  • 数字电路
    +关注

    关注

    193

    文章

    1600

    浏览量

    80490

原文标题:现在公司里做设计用SV还是Verilog?

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA编程是VHDL还是verilog HDL好用?谢谢了!

    FPGA编程是VHDL还是verilog HDL好用?谢谢了!{:soso_e183:}
    发表于 06-19 17:36

    FPGA编程是VHDL还是verilog HDL好用?谢谢了!

    [color=#444444 !important]FPGA编程是VHDL还是verilog HDL好用?谢谢了!
    发表于 06-19 17:39

    我是学Verilog还是VHDL?

    大学的一些学习材料。可是最近有点迷茫,是学VHDL呢?还是Verilog HDL。我网上查,有的说VHDL和Verilog HDL应用情况差不多,可是又有人说现在主要是
    发表于 09-06 15:03

    硬件研发工作还是转行去写verilog代码的工作

    年龄29岁,刚转行硬件研发工作半年多,就是FPGA与MCU和搭配一些外围电路设计的工作,好想有人去带我,来了半年公司不忙,没有做过项目,每天感觉好像在混日子,过得好空虚,目前在学习veri
    发表于 08-20 10:29

    现在公司基于SOPC项目的多吗

    现在公司基于SOPC项目的多吗???小白求教
    发表于 11-19 16:24

    请问在Verilog可以直接'/'来除法吗?如果不能要怎样除法呀??

    请问在Verilog可以直接'/'来除法吗?如果不能要怎样除法呀??希望知道的人能够指点一二。。。
    发表于 09-08 11:33

    现在社会上Verilog与vhdl哪个的比较多?

    现在社会上Verilog与vhdl哪个的比较多?
    发表于 09-08 20:45

    ISSI公司的sram verilog model使用

    现在正在进行fpga来读写sram的小项目,为了验证读写时序,我特地到ISSI公司官网联系他们的技术人员给我发来了一个sram芯片的verilog model,我将其加入到我的工程中
    发表于 11-07 13:34

    Quartus II 现在verilog还是block dragram/schematic file

    现在verilog还是直接block dragram/schematic file ?新手感觉 block dragram/schematic file 更容易上手呢?感觉这边很多
    发表于 09-27 16:27

    使用SpinalHDL状态机生成的Verilog代码如何导入到quartus工程中去呢

    “fsm_enumDefinition_binary_sequential_fsm_BOOT=2'b00”通过这种方式添加可以避免再去修改生成的Verilog代码。我们在工程基于Scala可以很方便的解析enumdefine.sv
    发表于 07-08 16:13

    Altera公司FPGADSP算法的工具

    Altera公司FPGADSP算法的工具
    发表于 03-25 13:46 39次下载

    Verilog实现8255芯片功能

    Verilog实现8255芯片功能
    发表于 11-03 17:06 144次下载

    太阳能电池地板(是浪费还是回收)

    太阳能电池地板(是浪费还是回收)
    发表于 04-10 08:38 654次阅读

    浅谈System Verilog的DPI机制

    System Verilog(SV)把其他编程语言统一成为外语,Foreign Programming Language(FPL)。
    的头像 发表于 05-23 15:39 2012次阅读
    浅谈System <b class='flag-5'>Verilog</b>的DPI机制

    算法要学python还是C++?

    ,计算机,就是用来计算的,所以计算一直都是核心。不管是用电脑画图,Excel表格,还是智能手机购物,看电影听音乐,实际上体现在机器中都
    的头像 发表于 03-08 09:41 560次阅读
    <b class='flag-5'>做</b>算法要学python<b class='flag-5'>还是</b>C++?