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解决方案.它 ...
随机推荐
- 仿百度壁纸client(六)——完结篇之Gallery画廊实现壁纸预览已经项目细节优化
仿百度壁纸client(六)--完结篇之Gallery画廊实现壁纸预览已经项目细节优化 百度壁纸系列 仿百度壁纸client(一)--主框架搭建,自己定义Tab + ViewPager + Fragm ...
- 关系型数据的分布式处理系统MyCAT(转载)
——概述和基本使用教程 日期:2014/12/24 文:阿蜜果 1. MyCAT概述 1.1 背景 随着传统的数据库技术日趋成熟.计算机网络技术的飞速发展和应用范围的扩充,数据库应用已经普遍建 ...
- web-压力测试学习
https://blog.linuxeye.com/335.html http://bdql.iteye.com/blog/291987 http://www.cnblogs.com/zhuque/a ...
- HDU-1165-Eddy's research II
这个事实上是一个递归题.题目非常easy.m的数非常小.分三种情况.算一下.就能够直接把公式算出来. 当然,也能够用dp做: #include<iostream> #include< ...
- GDBus
1. https://en.wikipedia.org/wiki/D-Bus In computing, D-Bus (for "Desktop Bus"[4]), a softw ...
- TCP是如何保证包的顺序传输
转自:http://blog.csdn.net/ggxxkkll/article/details/7894112 大家都知道,TCP提供了最可靠的数据传输,它给发送的每个数据包做顺序化(这看起来非常烦 ...
- brew Error: Formulae found in multiple taps
Mac PHP brew install php56-apcu Error: Formulae found in multiple taps: * homebrew/php/php56-apcu * ...
- MySQL优化时可以设置的几个参数
back_log:back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中.也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被 ...
- kafka 配置kerberos校验以及开启acl实践
转载请注明原创地址:http://www.cnblogs.com/dongxiao-yang/p/7131626.html kafka从0.9版本以后引入了集群安全机制,由于最近需要新搭建一套kafk ...
- HTML5 2D平台游戏开发#5攻击
目前为止,角色除了基本的移动外还什么都不能做,于是我打算先实现角色的攻击动画.角色的普通攻击一共可以分为三个阶段: 一段斩 二段斩 三段斩 移动攻击 跳跃攻击 触发方式为角色站立时按下J(攻击)键,角 ...