【无标题】verlog中wire 和reg用法

2024-06-21 13:18
文章标签 用法 reg wire 无标题 verlog

本文主要是介绍【无标题】verlog中wire 和reg用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


wire(组合逻辑)
wire用来连接模块实例化的输入和输出端口;
wire用作实际模块声明中输入和输出;
wire 元素必须由某些东西驱动,并且在没有被驱动的情况下,无法存储值;
wire 元素不能用在 always模块中 = 或者 <= 的左边;
wire元素是assign语句左侧 唯一的合法类型;
wire 元素是在基于Verilog的设计中连接两片的无状态方式;
wire 只能用在 组合逻辑;
// wire 的一些正确使用
        wire A,B,C,D,E ; //1-bit wide
        wire [8:0] Wide; //9-bit
        assign A= B & C;
        always @(B or C) 
        begin
         I=B | C;
        end
        mymodule mymodule_instance(.In(D),Out(E));

reg(组合和时序逻辑)
reg 和 wire类似,但它可以用来存储信息(状态),就像寄存器
reg可以连接到模块实例化的输入端口;
reg 不能连接到模块实例化的输出端口;
reg 可以用作实际模块声明中的输出;
reg 不能 用作实际模块声明中的输入;
reg是always 模块中 = 或者 <= 左侧的唯一正确类型;
reg是initial模块中 = 左侧唯一的合法类型;
reg**不能用在assign的左边**;
reg 当与always @(posedge Clock)块结合使用时,reg可用于创建寄存器。
//reg一些合法使用
wire A,B;
reg I,J,K;  // 1-bit
reg [8:0] Wide; // 9-bit
always @(A or B) begin
    I=A | B; // using a reg as the left - hand side of an always

initial begin // using a reg in an initial block
    J=1'b1;
    #1
    J=1'b0;
end

always @(posedge Clock) begin
// using a reg to create a positive -edge - triggered register
    K<=I;
end

什么时候wire 和reg 可以互换?
两者都可以出现在assign语句和 always 模块中=或<=的右侧;
两者都可以连接到模块实例的输入端口;
 

这篇关于【无标题】verlog中wire 和reg用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081332

相关文章

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的