Verilog module 模块例化与简单层次电路设计

本文介绍了在Verilog中如何通过模块例化实现设计的层次结构,以1位和4位全加器为例进行详细阐述。模块例化允许将已完成的设计作为子模块复用,提高设计效率。内容包括逻辑运算符的介绍,1位全加器的逻辑表达式和Verilog描述,以及4位全加器的模块例化方法,包括名称关联和位置关联两种方式。
摘要由CSDN通过智能技术生成

Verilog module 模块例化与简单层次电路设计

在上节课中我们介绍了在Verilog 中,逻辑电路的入口及行为描述。语法规则非常简单,说穿了就是数字电路的文字描述。也就在数字电路中的单一电路都可以用这种方法进行描述。但是在数字电路设计中,复杂电路往往是由多个子电路或器件实现的,在Verilog中是如何对应的呢?

在Verilog 结构中可以通过例化的方式实现设计的层次结构。本节课程中我们将以1位全加器的设计,例化(instance), 然后在4位全加器中引用为例介绍如何通过这种方式,实现层次电路的设计。 例化的目的是为了将已经完成的设计作为一个子设计或子模块使用,可以充分利用已设计的成果进行设计积累。

在verilog设计中,虽然有多个module存在,但只有一个module的端口负责整个设计架构的输入、输出。内部module端口如果有输入、输出通过例化后以端口映射的方式与外部电路打交道。

在正式设计之前先介绍几个

逻辑运算符。

  1. 与运算 “and”, “&”:A and B, 或 A& B ;可以直接使用 “and “,也可以使用 “&” 符号在多位运算中 & 是按对应位进行运算的。
  2. 或运算 “or” , “|”:   求或运算
  3. 异或运算 “xor”, “^”: 求异或运算
  4. 非运算 !:    逻辑运算,求非(不满足)         
  5. 取反运算符 ~: 取反
  6. 并位运算符 {}  :          将多个位合并级联形成新的变量。如 a ,b 为单变量 ,y[1:0] 为向量

            assign y={a,b}; 结果为 y[0]=b, y[1]=a;

这里引用的运算符主要目的是帮助本节设计中用到的运算符的理解,详细内容请参照 verilog 运算符

1位全加器的设计:

输入: a, b ,ci; 其中 ci是进位输入

输入变量 输出变量
a b ci y co
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值