模块和端口

1、模块

模块内部的5个组成是:变量声明 数据流语句 低层模块实例 函数和任务 行为语句

SR锁存器

复制代码
`timescale 1ns / 1ps

module SR_latch
    (
        input   wire    Sbar        ,
        input   wire    Rbar        ,
        
        output  wire    Q           ,
        output  wire    Qbar
    );
    
    nand    n1(Q,Sbar,Qbar) ;
    nand    n2(Qbar,Rbar,Q) ;
    
endmodule

tb_sr

复制代码
`timescale 1ns / 1ps



module tb();

    wire    Q,Qbar  ;
    reg     Sbar,Rbar   ;
    
    SR_latch    m1(Sbar,Rbar,Q,Qbar)    ;
    
    initial
    begin
        $monitor($time,"Sbar = %b   Rbar  =  %b   Q  =  %b",Sbar,Rbar,Q)    ;
        Sbar    =   1'b0    ;
        Rbar    =   1'b0    ;
        
        #5
            Rbar    =   1'b1    ;
        #5
            Rbar    =   1'b0    ;
        #5
            Sbar    =   1'b1    ;
    end

endmodule

2、端口

端口就是模块与外界环境交互的接口。

2.1、 端口列表

有端口列表的模块

复制代码
module    fulladd4
            (
                output        sum      ,
                output        c_out    ,

                input         a        ,
                input         b        ,
                input         c_in
            );

没有端口列表的仿真模块

复制代码
module    tb    ;

2.2、 端口申明

|------------|------|
| verilog关键字 | 端口类型 |
| input | 输入 |
| output | 输出 |
| inout | 双向端 |
[端口]

2.3、 端口连接规则

输入端口 必须为 线网数据类型。input可以外界 接 reg 或者 wire。

输出端口 可以为reg或者wire。总体而言 ,输出必须接到线网,不能接到reg。

inout端口 必须为 wire。

verilog 运行位宽不同,但是会给出 warn。

2.4、 端口 与 外部信号的连接

顺序端口连接

命名端口连接

这两种方式不能混用。

3、层次命名

如下,可以用 . 分隔。

复制代码
stimulus.Qbar.Q
相关推荐
鬼手点金34 分钟前
FPGA常用型号参考
fpga开发·verilog·vivado·xilinx·vhdl·altera·lattice
Kong_19941 天前
芯片开发学习笔记·二十九——大模型基础知识与 KV Cache 详解
fpga开发·芯片开发
m0_46644103詹湛1 天前
FPGA 定点数、小数与负数的加减乘除原理
fpga开发
zlinear数据采集卡1 天前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
zlinear数据采集卡1 天前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
FPGA小迷弟1 天前
Vivado中高速收发器GTX/GTH的配置与调试实战
fpga开发·fpga·硬件开发
minglie11 天前
简易寄存器接口SMMR---iic控制器
fpga开发
FPGA小迷弟1 天前
Vivado ILA与VIO调试工具实战指南:从入门到精通
fpga开发·fpga·硬件开发
FPGA小迷弟1 天前
FPGA状态机设计详解:从Moore到Mealy的完整指南
fpga开发·fpga
zlinear数据采集卡2 天前
D223的PWM电机控制:6路独立脉冲+加减速算法深度解析
arm开发·stm32·嵌入式硬件·算法·fpga开发·架构