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解决方案.它 ...
随机推荐
- ajax个人学习笔记
1. function createXHR(){ if(typeof XMLHttpRequest != 'undefined'){ return new XMLHttpRequest(); }els ...
- 转: Appium ---移动自动化测试
转自:http://www.cnblogs.com/nbkhic/p/3803830.html 什么是appium? 下面这段介绍来自于appium的官网. Appium is an open-sou ...
- docker pull net/http: TLS handshake timeout错误解决
docker pull net/http: TLS handshake timeout 出现这个错误,原因很明显,我们在围城里,有两种解决办法,一种是用梯子爬围墙,一种是用国内源,下面用国内源 e ...
- 经常使用socket函数具体解释
经常使用socket函数具体解释 关于socket函数,每一个的意义和基本功能都知道,但每次使用都会去百度,參数究竟是什么,返回值代表什么意义.就是说用的少,也记得不够精确. 每次都查半天.常常烦恼于 ...
- bzoj 2458: [BeiJing2011]最小三角形 题解
[前言]话说好久没有写题解了.到暑假了反而忙.o(╯□╰)o [原题] 2458: [BeiJing2011]最小三角形 Time Limit: 10 Sec Memory Limit: 128 M ...
- linux flush memcache缓存
telnet localhost 11211 flush_all memcached Telnet Interface Command Description Example get Reads a ...
- Ubuntu 18.04 初始化(server版本 )
系统安装 ubuntu 18.04 英文版,创建个人用户 初始系统 a.修改ip shell> vim /etc/network/interfaces auto ens33 iface ens3 ...
- 06 Memcached中的一些参数限制
一: Memcached中的一些参数限制 Key的长度:250字节(二进制协议支持65536个字节) value的限制:1M ,一般都是存储一些文本,如新闻标题等等这个值足够了, 内存的限制:32位下 ...
- .Net中多线程类的使用和总结
lock, Monitor, Thread, Join, BackGroundWorker. 消费者和生产者.Async 委托Invoke TypeHandle中BlockIndex. http: ...
- linux 面试题
[题目]一个数组,输出重复次数最多的前你n位,倒序输出 [答案] catwords.txt | sort | uniq -c | sort -k1,1nr | head -n [解析] sor ...