VHDL学习笔记——数字系统设计
数字系统是指有若干数字电路和逻辑不见构成的能够处理或传输数字信息的设备。数字系统可分为三部分:输入输出接口、数据处理器和控制器。
【传统的系统硬件设计】方法是(1)采用自底向上的设计方法(2)采用通用的逻辑元器件(3)在系统硬件设计的后期进行仿真和调试(4)主要设计文件是电原理图
现在流行的,也是我重点学习的设计方法是【层次化结构设计】。这种设计方法,比较通俗地讲就是:将各功能的实现模块化,每个模块对外提供接口,各模块之间通过接口进行数据交流,而不必关心对方模块内部的算法实现。
下面用比较专业的话来讲讲层次化结构设的特点。
系统层次可从两个不同的角度来表示:系统结构层次与系统性能层次。前者代表了系统由模块组成的形式,后者指的是系统输出对输入的响应。
对于一个数字系统来说,一般可以分为六个层次:系统级;芯片级;寄存器级;门级;电路级;硅片级。这六级自上而下,体现了大部分常见系统设计的特点,由与人交互的应用层逐层向下,直到最基本的物理实现。各级都可在系统性能与系统结构中有对应的描述。
六级系统实现分层中,系统级的性能描述主要是指运算速度、传输带宽等性能指标,一般通过文字表示;芯片级的性能描述则是通过算法表示的,也就是使用VHDL语言描述在芯片上实现的算法;寄存器级:数据流描述;门级:布尔方程。
常见的系统结构可以分解为树形结构各节点之间的链接线可看做是模块结构描述,而各叶子之间的联系可看做是性能描述。对于这样的结构,在进行编程实现的时候,要按照一定的顺序有条理地进行,而不能随意性很大的,看到哪里就写哪里,否则会使程序设计不具有连续性,编程效率大大降低。常见的设计顺序有“自顶向下设计”和“自底向上设计”二者各有特点,各有优劣。
自顶向下设计的出发点是树根……
自底向上设计……
未完待续
VHDL学习笔记——数字系统设计的更多相关文章
- kururu的VHDL学习笔记
最近开始做课程设计,VHDL设计一个中央空调的控制程序.所以开始学习VHDL,在这篇文章里面记录一些自己的笔记,期望对于同样的初学者有些借鉴意义~ 编写VHDL所需的工具: 那自然很是quartus啦 ...
- [Python学习笔记] 数字类型及操作
数字类型 整数类型 十进制:1110,-123 二进制:以0B或0b开头 0b110,-0B101 八进制:以0O或0o开头 0o123,-0O567 十六进制:以0X或0x开头 0x555,-0X8 ...
- Python学习笔记-数字类型
如何定义一个数字类型 定义var1为一个INT类型,所以在5/3 输出的是 1. var1 = 5 var1=var1/3 print var1 定义var1为一个INT类型,因为var1是INT类型 ...
- Python学习笔记-数字,列表,元祖,切片,循环
数字 1,加减乘除:+,-,*,/ 2,平方:** 3,立方:**3 4,字符串转换:str(数字) 5,浮点数:带小数点 0.2 Python编程建议 import this >>&g ...
- python3学习笔记——数字、字符串、列表、字典、元组
什么是python解释器? python代码在解释器中运行.解释器是代码与计算机硬件之间的软件逻辑层. python的执行过程 ...
- Mooc中国大学Python学习笔记--数字类型及操作
整数类型 只需知道整数无限制,pow(),4进制表示形式 与数学中整数的概念一致 --可正可负,没有取值范限制 --pow(x,y)函数:计算x^y,想算多大算多大 -十进制:10 -二进制,以0b或 ...
- js学习笔记-数字转罗马数字
function convert(num) { var ans = ""; var k = Math.floor(num / 1000); var h = ...
- Verilog笔记——Verilog数字系统设计(第二版)夏宇闻
本片记录Verilog学习笔记,主要是和以往用的C语言的不同之处,以例子.代码的形式记录.学习以<Verilog数字系统设计>(第二版)为参考资料,援助作者夏宇闻. 1. C语言和Veri ...
- 【小梅哥SOPC学习笔记】Altera SOPC嵌入式系统设计教程
Altera SOPC嵌入式系统设计教程 第1章 概述 SOPC(System On Programmable Chip,可编程的片上系统)是Altera公司提出来的一种灵活.高效的SOC解决方案.它 ...
随机推荐
- jmeter压测-负载配置
jmeter 压测 一般压测的时间是10-15分钟 TPS:服务端每秒钟处理的请求数 越大越好 响应时间 :越短越好 并发用户数 也就是多少并发 指标给你:tps要达到多少 响应时间要达到多少 并 ...
- 解决scrollView中嵌套viewPager的冲突问题
很简单,在外层ScrollView中添加android:fillViewport="true"属性,然后给viewPager添加一个固定高度
- 解决:cant't run '/etc/init.d/rcS':No such file or directory
Linux内核启动时提示这种错误:cant't run '/etc/init.d/rcS':No such file or directory 请用vim打开文件:/etc/init.d/rcS 观察 ...
- Atitit. 如何判断软件工程师 能力模型 程序员能力模型 项目经理能力模型
Atitit. 如何判断软件工程师 能力模型 程序员能力模型 项目经理能力模型 这里能力模型的标准化是对工具的使用为基本 工具(ide,语言,类库,框架,软件) 第一步 ::可使用api 类库 框架 ...
- js项目第一课:获取节点的方法有三个
第一种方法: demo.html代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- Redis用LPUSH和RPOP实现消息队列
using System; using System.Collections.Generic; using System.Linq; using System.Text; using ServiceS ...
- 【问题记录】web项目访问时出现404
请一定检查一下项目的Context root是否是你访问时使用的. Context root设置为/时,可以直接用ip+端口访问. Context root设置为项目名的,访问时请带上项目名. 设置方 ...
- Android studio 百度地图开发(3)地图导航
Android studio 百度地图开发(3)地图导航 email:chentravelling@163.com 开发环境:win7 64位,Android Studio,请注意是Android S ...
- LNMP环境搭建之php安装,wordpress博客搭建
LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...
- zip文件压缩
zip文件结构 上面中的每一行都是一个条目,zip文件就是由一个或者多个条目组成. 条目在Java中对应ZipEntry类 创建zip压缩文件 知 ...