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
相关推荐
cooldream200936 分钟前
小智 AI 智能音箱深度体验全解析:人设、音色、记忆与多场景玩法的全面指南
人工智能·嵌入式硬件·智能音箱
雷工笔记2 小时前
MES学习笔记之SCADA采集的数据如何与MES中的任务关联起来?
笔记·学习
聚能芯罗180380464762 小时前
Hi8001/Hi8002高集成升压芯片2.7-40V 宽输入电压智芯一级代理聚能芯半导体原厂技术支持
嵌入式硬件
十二测试录3 小时前
用F12获取接口信息,并进行接口测试
经验分享·功能测试·测试工具·压力测试·职场发展·安全性测试
一点 内容3 小时前
用户体验与商业化的两难:Chatbots的广告承载困境分析
人工智能·经验分享
繁星星繁3 小时前
【C++】脚手架学习笔记 gflags与 gtest
c++·笔记·学习
传感器与混合集成电路3 小时前
PSOC 7020运算模块解析:从放大器到ADC的片上模拟集成之道
嵌入式硬件·物联网
2301_810746313 小时前
CKA冲刺40天笔记 - day20-day21 SSL/TLS详解
运维·笔记·网络协议·kubernetes·ssl
bai5459364 小时前
STM32单片机光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件
米羊1214 小时前
FAT32(上)
stm32·单片机·嵌入式硬件