文档章节

使用verilog实现模块级联

maomao818
 maomao818
发布于 2016/03/19 19:28
字数 252
阅读 793
收藏 1

一个verilog程序可以包含多个模块,以满足一个复杂的程序设计。调用多个模块是通过端口关联来进行实现的,这种调用实际上是 一种硬件电路的嵌入,调用的方式是模块实例化,其中端口关联有两种方式:一种是位置关联,一种是名称关联,形式为“.端口名(变量名)“,实现端口与变量的关联。下面通过两个半加器来实现一个全加器来加以说明调用的方式:

moudle HalfAdd(X,Y,SUM,C_out);

    input    X,Y;

    output SUM,C_out;

    xor u_xor(SUM,X,Y);

    and u_and(C_out,X,Y);

endmoudle


moudle FullAdd(X,Y,C_in,SUM,C_out);

    input X,Y;

    output C_in,Sum,C_out;

    wire HalfAdd_A_SUM;

    wire HalfAdd_A_COUT;

    wire HalfAdd_B_COUT;

    or u_or(C_out,HalfAdd_A_COUT,HalfAdd_B_COUT);


    HalfAdd u_HalfAdd_A(.X(X),.Y(Y),.SUM(HalfAdd_A_SUM),.C_out(HalfAdd_A_COUT));

    HalfAdd u_HalfAdd_B(.X(X),.Y(Half_A_SUM),.SUM(SUM),C_out(HalfAdd_B_COUT)));


endmoudle


© 著作权归作者所有

共有 人打赏支持
maomao818
粉丝 1
博文 18
码字总数 6578
作品 0
成都
程序员
私信 提问
通用编辑器下实现类似 verdi 的功能的插件--vtags

vtags 旨在开发一款在vim/emacs等通用编辑器下, 对verilog/VHDL的设计代码进行类似verdi的信号追踪、显示拓扑等功能的插件,vtags插件完全使用Python实现,目前实现了在vim下对verilog设计进...

金牛座曹俊
2017/03/05
83
0
[高级篇] 在qucs中使用verilog

为了确保能够正确运行,请确保你现在程序版本为 Qucs 0.0.18 其实将verilog程序放入qucs并不是一件复杂的事情,qucs已经足够简化我们的工作,我们只需要将模块的源代码复制到当前qucs的工作目...

quanwei9958
2014/09/21
0
0
交换机的互连技术

单独一台交换机的端口数量是有限的,不足以满足网络终端设备接入网络的需求。为此我们需要使用多台交换机来提供终端接入功能,并将多台交换机互连,形成一个局域网。 交换机的互连主要有级联...

xmgdc
2017/06/29
0
0
用Verilog-HDL摩尔型状态机进行流程控制

用Verilog-HDL摩尔型状态机进行流程控制 前段时间,开发了一个简单的回波信号识别算法,我会分几篇文章分享这个基于FPGA的回波识别算法的开发过程和原码,欢迎大家不吝赐教。以下原创内容欢迎...

helesheng
08/03
0
0
OCaml 硬件设计工具--HardCaml

HardCaml 是 OCaml 编写的寄存器传输级硬件设计。 HardCaml 是设计硬件的 OCaml 库: 使用 OCaml 表达硬件设计 使用高需求函数,列表,映射,functors 创建常规设计 使用 OCaml 模拟设计 转换...

叶秀兰
2015/11/26
129
0

没有更多内容

加载失败,请刷新页面

加载更多

ArrayList的实现原理以及实现线程安全

一、ArrayList概述 ArrayList是基于数组实现的,是一个动态的数字,可以自动扩容。 ArrayList不是线程安全的,效率比较高,只能用于单线程的环境中,在多线程环境中可以使用Collections.syn...

一看就喷亏的小猿
21分钟前
0
0
Netty 备录 (一)

入职新公司不久,修修补补1个月的bug,来了点实战性的技术---基于netty即时通信 还好之前对socket有所使用及了解,入手netty应该不是很难吧,好吧,的确有点难,刚看这玩意的时候,可能都不知道哪里...

_大侠__
昨天
4
0
Django简单介绍和用户访问流程

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的Web应用框架,由Python写成。 Django遵守BSD版权,初...

枫叶云
昨天
8
0
EOS错误代码及中文释义

本文集汇总了EOS区块链常见错误代码及其含义,完整错误代码集请查看 EOS错误代码集 - 汇智网 EOS错误代码列表如下, <table class="table table-striped"> <thead> <tr><th>错误代码</th><t......

汇智网教程
昨天
5
0
Spring Cloud Stream消费失败后的处理策略(四):重新入队(RabbitMQ)

应用场景 之前我们已经通过《Spring Cloud Stream消费失败后的处理策略(一):自动重试》一文介绍了Spring Cloud Stream默认的消息重试功能。本文将介绍RabbitMQ的binder提供的另外一种重试...

程序猿DD
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部