Verilog——参数化定义

目录

前言

这个专栏会专门讲一些Verilog的知识,后续会慢慢更新,欢迎关注
Verilog专栏

参数化定义 #( )

定义

verilog 复制代码
module Reg #(WIDTH = 1, RESET_VAL = 0) (  
//位宽默认为1 , 复位值默认为0
  input clk,  //时钟
  input rst,  //复位信号
  input [WIDTH-1:0] din,  //输入值
  output reg [WIDTH-1:0] dout,  //输出值
  input wen
);
  always @(posedge clk) begin
    if (rst) dout <= RESET_VAL;
    else if (wen) dout <= din;
  end
endmodule

实例化

verilog 复制代码
Reg #(8, 255) my_reg (
  .clk(clk),
  .rst(rst),
  .din(data_in),
  .dout(data_out),
  .wen(write_enable)
);
  • WIDTH被设置为8,因此dindout都是8位宽。
  • RESET_VAL被设置为255,所以在复位时,dout的初值为255。
  • 如果实例化时没有传入参数,则使用默认值,即WIDTH=1RESET_VAL=0
相关推荐
梁洪飞7 小时前
clk学习
linux·arm开发·嵌入式硬件·arm
大话数据分析8 小时前
开源免费!AI 编程助手 OpenCode 保姆级教程
经验分享
浩瀚地学8 小时前
【Java】JDK8的一些新特性
java·开发语言·经验分享·笔记·学习
JeffDingAI8 小时前
【Datawhale学习笔记】深入大模型架构
笔记·学习
a不是橘子9 小时前
03在Ubuntu中验证PV操作
笔记·ubuntu·操作系统·虚拟机·os·pv操作
tangyal9 小时前
渗透笔记1
笔记·网络安全·渗透
eewj9 小时前
STM32中FCLK时钟信号的作用
stm32·单片机·嵌入式硬件
淘晶驰AK10 小时前
ESP32和STM32哪个更容易学?
stm32·单片机·嵌入式硬件
fanged10 小时前
STM32(5)--HAL1(TODO)
笔记
__万波__11 小时前
STM32L475实现精度更好的delay函数
stm32·单片机·嵌入式硬件