用verilog来描述组合逻辑电路
1,什么是组合逻辑电路?
逻辑电路在任何时刻产生的稳定的输出信号仅仅取决于该时刻的输入信号,而与过去的输入信号无关,即与输入信号作用前的状态无关,这样的电路称为组合逻辑电路。
上图给出了一个典型的数字逻辑电路模型,其中的输入信号为X={X1,...,Xn},Y={Y1,...,Yn}为对应的输出信号,输入与输出的关系可以表示为:Y=F(X)。
2,组合逻辑电路有哪些特点?
组合逻辑电路具有两个特点:
(1).由逻辑门电路组成,不含有任何的记忆元件;
(2).电路是单向传输的,电路中不存在任何反馈回路。
3,如何描述组合逻辑电路?
(1)真值表;
(2)逻辑表达式
(3)逻辑门电路图
(4)卡诺图
(具体描述略)
4,各种描述之间相互转换关系?
(1)真值表——逻辑表示
(2)逻辑表达式——逻辑电路图
(3)逻辑电路图——真值表
(具体描述略)
5,如何使用verilog描述组合逻辑电路,及注意事项?
(1)使用assign描述组合逻辑电路;
在verilog HDL,用assign描述的部分都是组合逻辑电路,下面对assign做简要的介绍:
assign:连续赋值语句是Verilog数据流建模的基本语句,用于对线网进行赋值,等价于门级描述,然而是从更高的抽象层次对电路进行描述。assign语法表示如下:
continuous_assign ::=assign [drive_stength] [delay] list_of_net_assignments;
list_of_net_assignment :: =net_assignment {, net_assignment}
net_assignment :: +net_lvalue =expression
drive_strength默认为strong1,strong0。
注意连续赋值语句只能对线网进行赋值,即等式左边一定是线网数据类型,右边可以是任意的数据类型。
(2)使用always描述组合逻辑电路;
always不仅可以用来描述时序逻辑电路,也可以用来描述组合逻辑电路,主要区别在于敏感列表和赋值方式。这里只介绍always在组合逻辑电路中的应用。
1)在敏感列表中使用电平敏感事件,而不用边沿敏感列表;
2),为变量赋值使用阻塞赋值,而不用非阻塞赋值;
3),在always块内被赋值的变量必须为寄存器型变量。
(3)使用门级原语描述组合逻辑。(具体描述略,可参考verilog相关书籍)
用verilog来描述组合逻辑电路的更多相关文章
- FPGA学习笔记(五)—— 组合逻辑电路功能的描述
设计方法: 分析真值表规律 两种描述方式: 方式1:用assign描述,用阻塞赋值= 方式2:用always@(*)描述,用非阻塞赋值<= 选择功能的三种描述方式: ...
- 数字电路基础知识——组合逻辑电路(数据选择器MUX、多路复用器)
转自:https://blog.csdn.net/vivid117/article/details/100747939 数字电路基础知识--组合逻辑电路(数据选择器MUX.也即多路复用器)本次介绍数据 ...
- 实验三 组合逻辑电路的VHDL设计
一.实验目的 熟悉QuartusⅡ的VHDL文本设计过程,学习简单组合逻辑电路的设计.仿真和测试方法. 二.实验内容 1. 基本命题 完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测 ...
- Verilog-FPGA硬件电路设计之一——if语句优先级(always块中的阻塞赋值生成的组合逻辑电路是按照顺利执行的)
出处:http://bbs.ednchina.com/BLOG_ARTICLE_3013262.HTM 综合软件:Quartus II 一.有优先级的if语句 if..else if.. else i ...
- 【VHDL】组合逻辑电路和时序逻辑电路的区别
简单的说,组合电路,没有时钟:时序电路,有时钟. ↓ 也就是说,组合逻辑电路没有记忆功能,而时序电路具有记忆功能. ↓ 在VHDL语言中,不完整条件语句对他们二者的影响分别是什么?组合逻辑中可能生成锁 ...
- Verilog笔记.2.数字逻辑电路
1.数字逻辑电路的种类:1) 组合逻辑:输出只是当前输入逻辑电平的函数(有延时),与电路的原始状态无关的逻辑电路.也就是说,当输入信号中的任何一个发生变化时,输出都有可能会根据其变化而变化,但与电路目 ...
- 我的 FPGA 学习历程(04)—— 练习 verilog 硬件描述语言
这篇讲的是使用 verilog 硬件描述语言编写一个 3 - 8 译码器. 3 - 8 译码器是一个简单的组合逻辑,用于实现并转串,其输入输出关系如下: | 输入 | 输出 | -------- ...
- 怎么用Verilog语言描述同步FIFO和异步FIFO
感谢 知乎龚大佬 打杂大佬 网上几个nice的博客(忘了是哪个了....) 前言 虽然FIFO都有IP可以使用,但理解原理还是自己写一个来得透彻. 什么是FIFO? Fist in first out ...
- verilog语法实例学习(4)
Verilog模块 Verilog中代码描述的电路叫模块,模块具有以下的结构: module module_name[ (portname {, portname})]; //端口列表 [parame ...
随机推荐
- 创建自己的java类库并加以调用方法
第一次搞博客,心里有点发慌,记录一下:2018/2/1/ 21:33 今天Think In Java第4版 中文版(英文看着可能很耗时),看到了6.1.3 定制工具库这一章节,之前作者调用自己的类 ...
- 命令行操作flask
Flask-Script 先安装pip3 install Flask-Script from sansa import create_app from flask_script import Mana ...
- 原!!junit mockito 自定义参数匹配 -- ArgumentMatcher
前两天写单元测试的时候,发现一个dao对象 mock成功了,但是调用该dao对象的某个方法时,并没有按照设定的值返回,而是返回null. 但是记得之前也都是这么写没有碰到问题,直接mock对象,调用方 ...
- android自定义控件(一)MeasureSpec 与 ListView.onMeasure
A MeasureSpec encapsulates the layout requirements passed from parent to child. Each MeasureSpec rep ...
- rabbitmq channel参数详解【转】
1.Channel 1.1 channel.exchangeDeclare(): type:有direct.fanout.topic三种durable:true.false true:服务器重启会保留 ...
- Django相关介绍
先认识一下MVC框架 MVC的框架模式,即模型M,视图V和控制器C.他们之间以一种插件似的,松耦合的方式连接在一起. Model(模型)是应用程序中用于处理应用程序数据逻辑的部分. 通常模型对象负责在 ...
- 关于shared pool的深入探讨(三)
基本命令: ALTER SESSION SET EVENTS 'immediate trace name LIBRARY_CACHE level LL'; 其中LL代表Level级别,对于9.2.0及 ...
- HDU - 6395 Sequence (分块+快速矩阵幂)
给定递推式: 求Fn. 分析:给出的公式可以用快速矩阵幂运算得到,但 P/n 整除对于不同的i,值是不同的. 可以根据P将3-n分成若干块,每块中P整除n的值是相同的.分块的时候要注意判断. 将每块的 ...
- $python正则表达式系列(6)——"或"表达式的用法
import re s1 = u'距离地铁5号线189米' s2 = u'距离地铁5号线(环中线)189米' s3 = u'距离地铁5号线(环中线)189米' p1 = re.compile(u'号线 ...
- JAVA发送HttpClient
http://bijian1013.iteye.com/blog/2310211 在发送HTTP请求的时候会使用到POST和GET两种方式,如果是传送普通的表单数据,我们直接将参数到一个Key-val ...