数字逻辑设计2013

Similar documents
数字逻辑设计2013

PowerPoint Presentation

PowerPoint Presentation

数字逻辑设计2016

数字逻辑设计2016

第一篇 网络管理基础

ebook121-1

SuperMap 系列产品介绍

1 1

专业主干课程与主要专业课程教学大纲(2009年、2011年).doc

9 什 么 是 竞 争 与 冒 险 现 象? 怎 样 判 断? 如 何 消 除?( 汉 王 笔 试 ) 在 组 合 逻 辑 中, 由 于 门 的 输 入 信 号 通 路 中 经 过 了 不 同 的 延 时, 导 致 到 达 该 门 的 时 间 不 一 致 叫 竞 争 产 生 毛 刺 叫 冒 险 如

untitled

附件1:

ebook105-1

49274h1.pdf

<AA51B15E20B0AAA4A4B8EAB054ACECA7DEB7A7BDD720BEC7A5CDBDD2A5BB DB54CB8D1B5AA2E706466>

101

<4D F736F F F696E74202D20BCC6A6ECA874B2CEBEC9BDD7C1BFB871B2C4A440B3B9>

enews174_2

Microsoft Word - 最新正文.doc

北 京 大 学

高等学校理工科

Microsoft PowerPoint - STU_EC_Ch01.ppt

02 看 見 躍 動 的 創 新 力 量 04 矽 數 十 年 金 矽 創 意 十 年 有 成 16 築 夢 之 際 你 所 不 知 道 的 金 矽 獎 40 樂 在 其 中

1 CPU

目 录

Microsoft PowerPoint - vlsi_chapter01

<4D F736F F D20C9CFBAA3BFC6BCBCB4F3D1A7D0C5CFA2D1A7D4BA C4EAC7EFBCBEC8EBD1A7B2A9CABFD7CAB8F1BFBCCAD4CAB5CAA9CFB8D4F22D C8B7B6A8B8E5>

第 卷 第 期 年 月 半 导 体 学 报! " # $%&'%' $!&' #% #$1 /#1 $'! / ?/ ?/ / 3 0,?/ ) * +!!! '!,!! -. & ' $! '! 4% %&1)/1(7%&)03 (% )

52C

《计算机应用基础》学习材料(讲义)

Microsoft PowerPoint - Ch5 The Bipolar Junction Transistor

Microsoft Word - A doc

(按 Ctrl + F2 可編輯頁首資料)

前言

大学计算机基础B.doc

PowerPoint Presentation

Process Data flow Data store External entity 6-10 Context diagram Level 0 diagram Level 1 diagram Level 2 diagram

z x / +/- < >< >< >< >< > 3 b10x b10x 0~9,a~f,A~F, 0~9,a~f,A~F, x,x,z,z,?,_ x,x,z,z,?,_ h H 0~9,_ 0~9,_ d D 0~7,x,X,z,Z

Microsoft Word - S3 價值與影響_revised 0625_

(02) (02) (02) (02) (02

CC213

强 度 调 制 器 相 位 延 迟 器 表 面 声 光 偏 转 器 磁 光 隔 离 器 偏 振 控 制 器 等 器 件 的 原 理 及 应 用 讲 述 介 质 波 导 波 导 色 散 光 纤 模 式 等 概 念 结 合 基 础 介 绍 学 科 前 沿 知 识 精 密 仪 器 设 计

<4D F736F F D20CEDECEFDD0C5BDDDB5E7C6F8B9C9B7DDD3D0CFDEB9ABCBBECAD7B4CEB9ABBFAAB7A2D0D0B9C9C6B1D5D0B9C9CBB5C3F7CAE9A3A8C9EAB1A8B8E C4EA36D4C238C8D5B1A8CBCDA3A92E646F63>

考试时间课程名称级人数考试地点 机械工程 17 级卓越 1 30 D-386 机械工程 17 级卓越 2 30 D-386 自动化 17 级 1 30 D-3108 自动化 17 级 2 30 D-3108 电子信息工程 17 级 1 32 C-170 电子信息工程 17 级 2 32 C-242

Microsoft PowerPoint - STU_EC_Ch04.ppt

場效電晶體簡介.doc

D4

黄镇目录.tpf

¸ßÐÛÊÐÕþ¸®½ÌÓý¾ÖôßËù„ÙŽCêP„WУ¾ÅÊ®ÄêÈËÊÂÈ˃TŁþ‹óô߯·¹ÜȦÌá°¸

Ch03_嵌入式作業系統建置_01

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

22 Industry and Information Technology Education CPU 70 10ACM IEEE/CS

Microsoft PowerPoint - CH03中文

目 录

NAC-300 user manual

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63>


事 實 上, 我 小 時 候 說 話 都 會 打 結! 呂 政 璋 記 得 專 五 時, 須 作 畢 業 簡 報, 由 於 結 構 支 離 破 碎 枯 燥 乏 味, 二 十 分 鐘 的 報 告, 才 五 分 鐘 就 被 老 師 狠 狠 地 轟 下 台 好 勝 的 他, 重 新 再 把 報 告 的 內


Microsoft PowerPoint - STU_EC_Ch08.ppt

NANO COMMUNICATION 23 No. 2-3D IC 29 6T SRAM, ReRAM, sense amplifiers, analog amplifiers and gas sensors was integrated to confirm the superiority in

多核心CPU成長日記.doc

國立屏東教育大學碩士班研究生共同修業要點

時脈樹設計原則


计算机科学与技术学院 2016 级通信工程 学年教学计划 班级 : 通信 1601, 通信 1602 人数 :67 第一学期 课程性质课程名称学分总学时讲课实验实践上机讨论开课学院备注 选修 选修 通信类专业写作 计算机科学与技术学院 选修通信系统实验 3.0

01 Chapter

PowerPoint 演示文稿

学年第一学期临潼校区第二十周期末考试安排 ( 四 ) 考试时间 课程名称 班级 人数 考试地点 1 月 17 日 10:00-12:00 中级英语写作 Ⅰ 英语 17 级 1 班 29 D 月 17 日 10:00-12:00 英语阅读 Ⅰ 英语 18 级 1 班

目 錄 壹 本 會 簡 介 歷 史 沿 革 服 務 宗 旨

Transcription:

数字逻辑设计 Digital Logic Design 佟冬 tongdong@mprc.pku.edu.cn http://mprc.pku.edu.cn/courses/digital/2014spring

课程介绍 欢迎进入数字世界!

为什么学习逻辑设计? 显而易见的原因 本课程是计算机科学和计算机工程课程的一部分 是所有现代计算设备的实现基础 用小部件实现更大的系统 提供计算机如何工作的基础模型 更重要的原因 硬件内在的并行性让我们第一次涉及到并行计算 本课程提供了一个与软件设计相对应的的有趣知识, 有利于进一步大体上理解 计算 Computation 最新的原因 可重构计算 : 基于 FPGA 的加速器计算 3

课程介绍 课程名称 : 数字逻辑设计 课程类型 : 本科生限选课 学生专业 : 计算机科学与技术 学时与学分 :54 学时,3 学分 主讲教师 : 佟冬 办公室地址 : 理科 1 号楼 1818 房间 电话 :62765828-802 预备知识 : 数学, 物理, 电路 4

上课方式 上课时间 周一 ( 单双周 ) 1-2 节 ( 二教 207) 周四 ( 双周 ) 7-8 节 ( 二教 207) 课程网址 学校教学网 http://mprc.pku.edu.cn/courses/digital/2014spring 答疑时间 学校教学网,Email 答疑 考试答疑 : 考试前一天 助教 康华伟 :kanghuawei@mprc.pku.edu.cn 5

教材和参考书 主要参考书 现代逻辑设计 Contemporary Logic Design, by R. H. Katz and G. Borriello, 罗嵘等译, 第二版, 电子工业出版社 ( 中文版 ) 白中英, 数字逻辑与数字系统, 第四版 立体化教材, 科学出版社,2007 Digital Design Principles and Practices, by J. F. Wakerly, 第三版, 高等教育出版社 ( 影印版 ) Digital Logic Circuit Analysis & Design, by N. P. Nelson, 清华大学出版社 ( 影印版 ) 6

课程考核 作业和课堂参与 (30%) 课程参与情况 5% 书面作业 +FPGA 电路设计 25% 期中考试 (20%) 期末考试 (50%) 相关实验课程 数字逻辑实验 7

课程结构 概述 基础理论知识 数字系统和编码 布尔代数基础 数字电路基础 数字电路分析与设计 组合电路分析与设计 同步时序电路分析与设计 可编程逻辑器件和设计软件实践 原理图 Verilog 设计 Xilinx BASYS2 开发板实践 8

学习收获 掌握数字电路设计的基础理论 了解实现数字电路的工艺器件基本原理 掌握数字电路的分析方法 重点掌握数字电路设计方法和实现方法 培养对计算机硬件设计的兴趣 了解数字系统设计的现状 实践用可编程器件实现数字电路的方法 学习简单的并行的思维方式 9

10 Xilinx BASYS2 实验板

人是如何计算的? 简单的模型? 感知 : 眼 耳等 判断 命令 : 行为 记忆 大脑 11

如何做出一个能计算的设备? 人的计算方法? 计算设备 12

计算的简史 ( 硬件部分 ) 从人脑到电脑

14 人是如何计算的? 计数 count 计算 calculate 通过数学过程来判定 to determine by mathematical processes 计算器 Calculator, 可以执行数学计算的电子设备 an electronic device for performing mathematical calculations 计算机 computer 计算的人 一种可以存储 查询和处理数据的可编程电子设备, a programmable usually electronic device that can store, retrieve, and process data

计算的历史 计算机历史只有 60 多年? 不对! 数字电子计算机的历史只有 60 多年! 计算机革命发生在过去的 60 多年中而且还正在进行 计算和计算机的历史源远流长 把握历史 时间 地点 人物 重要事件 计算的历史伴随着计算机的发展和器件的发展 15

数字的出现 数字的出现 数字在各个古代文明中都独立的存在 数字都以十进制数为基础 阿拉伯数字 Digit 的解释 人的手指或脚趾 指宽 阿拉伯数字符号从 0 到 9 中的任意一个 用在计算系统中的符号 16

早期的计算工具 计算的出现 计算的需求 原始的计算方法 最早的 计算机 算盘 ( 按位记数法 ) 1612-1614 John Napier 发明对数 数字和带数字的木条进行计算 1633 Oughtred 发明计算尺 17

机械计算机 1642-1643 Blaise Pascal 加法器 1673 Leibniz 四则运算计算器 19 世纪 Charles Babbage 齿轮 差分机 (difference engine) 构思了一台由存储装置和算术装置组成的分析机 (Analytical engine) 由于工艺水平的限制当时没有能够实现 第一台计算机 18

19 最早的计算器公元前 80-60 年

穿孔卡片和程序 1804 Joseph Jacquard 穿孔卡片式织布机 1815-52 Ada Byron aka Lady Lovelace 概念性的程序 指令存储 实用穿孔卡片 打印的能力 Computer 词的出现 到 1940 前 Computer 指雇佣来负责计算数字的人 20

齿轮 + 穿孔卡片 机械计算器 1886 Burroughs 纪录式加法器 1889 Hollerith 穿孔卡片系统 1911, CTR 公司 1924, IBM 公司 21

数字计算机的数学基础 1850s, George Boole 将逻辑表述映射到符号 采用数学的方法处理逻辑推理 An investigation into the Laws of Thought 1938s, Claude Elwood Shannon 将布尔代数和硬件开关相联系 第一次提出 bit( 比特 ) 表示信息 A Symbolic Analysis of Relay and Switching Circuits(1938) Master thesis in MIT. 1941 香农加入 AT&T Bell 实验室 The mathematical theory of communication, 1948 22

如何做一个能计算的设备? 人的计算方法 布尔代数? 开关电路 计算设备 23

布尔代数和开关电路 : 与非门 (NAND) 布尔代数 a b 0 0 1 1 0 1 0 1 f NAND (a, b) = ab (a) 1 1 1 0 A B L L H H L H L H (b) Y H H H L 逻辑门 A B Y A B Y A B & Y (c) 高 (d) A (e) B 高 开关电路 A Z A Z B B 24 低 低

编码 (Code) 二进制 1824, 路易 布莱尔 Louis Braille 盲文, 国际通称 布莱尔 (braille) 25

摩斯码 二进制 1844 Samuel Morse 电报 编码和解码 航海信号灯的开和关表示信息 26

继电器 1835 Joseph Henry 继电器 (relay) 1876 Alexander Bell 电话 AT&T 公司 电话开关网络 27

机电计算机 Konrad Zuse s Z-1 (1935) 1937,George Slibitz of Bell Laboratory Model-K 使用继电器设计自动计算器 1944, IBM/Harvard Mark-I 28

ABC- 第一台数字电子计算机 1942 John Atanasoff Clifford Berry 爱荷华州立学院 (Iowa State College) ABC: Atanasoff-Berry Computer 二进制 280 真空管 315 公斤 29

第一代通用数字电子计算机 - 真空管 1904 John A Fleming diode vacuum tube 1906 Lee de Forest threeelectrode vacuum tube 1943 Colossus Mark I 1946 第一台通用的数字电子计算机 ENIAC 十进制 18000 个真空管 ( 电子管 ) Presper Eckert John Mauchly 30

第二代数字电子计算机 - 晶体管 1947.12.23 Bell Labs John Bardeen Walter Brattain William Shockley 发明晶体管 (Transistor) 1956 年诺贝尔物理学奖 1951 William Shockley invents the junction transistor( 结型晶体管 ). 1954 Texas Instruments silicon transistor 31

第三代数字电子计算机 - 集成电路 集成电路 (Integrated Circuit, IC) 1958, 德州仪器 (TI) Jack Kilby 用线连接 5 个元件 2000 年诺贝尔物理学奖 Robert Noyce, 仙童 (Fairchild) 1959, 德州仪器 (TI),Jack Kilby Flip-flop IC 双极型晶体管 (TTL, ECL) 32

第三代数字电子计算机 ( 续 ) 1961, 仙童 第一个单片平面集成电路,set/reset flip-flop 1962, 仙童 NPN 晶体管 1969, 仙童 MOS 管 双极性晶体管集成电路 (TTL, ECL) SSI(Small Scale IC) and MSI(Medium Scale IC) 1963 7-bit ASCII 33

第四代计算机 - 大规模集成电路 微处理器 集成电路工艺的发展 大规模集成电路 (Large Scale IC, LSI) 超大规模集成电路 (Very Large Scale IC, VLSI) 1971,Intel, 微处理器,4004 Ted Hoff 2300 晶体管, 3x4 mm 2 Intel 8008, 8080, Z-80, 68000 1979,Carver Mead and Lynn Conway An Introduction to VLSI systems 34

Moore 定律 Dr. Gordon E. Moore is Chairman Emeritus of Intel Corporation. He co-founded Intel in 1968, serving initially as Executive Vice President. He became President and Chief Executive Officer in 1975 and held that post until being elected Chairman and Chief Executive Officer in 1979. He remained CEO until 1987 and served as Chairman until being named Chairman Emeritus in 1997. The number of transistors per integrated circuit would double every 18 month. 这个论断是在第一块平面集成电路产生 4 年以后的 1965 年做出的 当时认为这个发展趋势将持续到 1975 年 事实上, 这个发展规律在目前仍是正确的 按目前发展趋势, 这个规律仍将有效至少 10 年 35

36

37

38

39 集成电路工艺发展 ( 来源 :IBM)

40 集成电路工艺发展 ( 来源 :IBM)

41 集成电路的发展

集成电路的发展 (2014): 规模

集成电路的发展 (2013): 频率

The Newest Intel 15-Core Xeon E7 V2 15 Cores 30 Threads 4.31 Billions 37.5MB L3 Cache 4x DDR Channel 2.8GHz Turbo 155W TDP

集成电路工艺的新进展 Intel 3D tri-gate CMOS 3D-stack Chip 47

集成电路工艺最新进展 2010 年 2 月 自然纳米技术 48

纳电子 Nanoelectronic 碳纳米管 Carbon nanocube 碳纳米线 Carbon nanowire 49

石墨烯 Graphene 2010 年诺贝尔物理奖 A. K. Geim K. S. Novoselov Electric field effect in atomically thin carbon films, Science, Oct.22, 2004. 50

FPGA: Field Programmable Gate Array

先进的数字设备 无处不在的计算 云计算 嵌入式系统 可穿戴计算机 53

设计方法和工具的发展 手工 物理层设计 CAD 门级和开关级 EDA 硬件描述语言 (Verilog and VHDL) 综合工具 验证工具 布局布线工具 ESL 高级描述语言 (SystemC, C++) 开创一个新的工业 54

55 集成电路设计和验证的问题

56 集成电路的功耗问题 (Power)

57 集成电路的功耗问题

绪论 佟冬 tongdong@mprc.pku.edu.cn http://mprc.pku.edu.cn/courses/digital/2014spring

一个简单的模型 模拟世界 A/D 数字世界 D/A 59

模拟和数字 (Analog vs. Digital) 模拟量 时间上和量上都是连续的 缺点 : 很难度量, 容易受噪声的干扰, 难以保存 优点 : 用精确的值表示事物 真实的世界是模拟的! 数字量 时间上和量上都是离散的 ( 非连续的 ) 优点 : 更多的灵活性, 更快, 更精确的计算 容易实现存储设备, 误差监测和修正, 容易最小化 二进制编码 60

数模转换 模拟 - 数字转换 (A/D) 采样 -> 量化 -> 编码 数字序列 数字 - 模拟转换 (D/A) 模拟低通滤波器 近似的模拟信号 失真 0000000000000000 0111111100000111 1000100011111000 1011011010001011 (a) 模拟形式 (b) 采样后的模拟形式 (c) 数字形式 61

数字系统设计 数字系统 对数字处理和存储的系统 什么是设计? 给定一个问题的表述, 从可用功能部件集合中从优选择, 得到一种解决问题的办法 分而治之的方法 工具 方法学 满足一定的约束 (Constraint) 性能, 价格, 质量, 美观等等 62

逻辑设计 (Logic Design) 决定数字逻辑元件的集合, 执行一个指定的控制过程 数据加工或者通信功能, 并决定逻辑元件间的互连 选择什么逻辑元件 实现技术 固定功能的芯片器件 芯片内部的晶体管 可编程器件 FPGA 设计需要优化或改造以满足设计约束 性能 面积 功耗 成本 63

现代逻辑设计 现代逻辑设计的特点 设计复杂 要求很短的开发时间 数字硬件成本很低, 性能却很高 现代逻辑设计的趋势 用软件工具自动生成数字电路 (EDA ESL) 采用已经设计好的数字元件 (IP) 更加关注规格说明书的制作 (Specification) 硬件和软件协同设计 64

计算 : 抽象和实现 ( 零壹赋值与或非 ) 本课程是关于物理上如何实现计算, 采用物理器件并用电压来表示逻辑值 计算的基本单元 : 表示 : 连线上的 0 和 "1" 赋值 :x = y 数据操作 :x + y 5 控制 : 顺序结构 : 条件结构 : 循环结构 : A; B; C if x == 1 then y for ( i = 1 ; i == 10, i++) 过程结构 : A; proc(...); B; 本课程将学习这些如何用硬件实现并组成计算设备 65

开关 : 物理实现的基本单元 简单电路的实现 A Z 关开关 ( 如果 A 是 1 ) 电灯泡亮 A Z 打开开关 ( 如果 A 是 0 ) 电灯泡不亮 Z A 66

开关 ( 续 ) 用开关构造更复杂的功能 ( 布尔函数 ): AND A B Z A and B A OR Z A or B B 67

数字设计的表示法 物理器件 Physical devices (transistors, relays) 开关 Switches 真值表 Truth tables 布尔代数 Boolean algebra 门 Gates 波形图 Waveform 有穷状态行为 Finite state behavior 寄存器传输行为 Register-transfer behavior 并发抽象描述 Concurrent abstract specification 68

组合电路和时序电路 数字系统的简单模型是有输入和输出的部件 输入 系统 输出 69

人是如何计算的? 简单的模型? 感知 : 眼 耳等 判断 命令 : 行为 记忆 大脑 70

数字逻辑电路 简单的模型 输入信号 组合电路 输出信号 存储元件 时序电路 71

组合电路和时序电路 组合电路 输出值是输入值的逻辑函数 输入值变化后一段时间后出现新的输出值 电路没有记忆功能 电路中没有循环反馈 (feedback loop) 和时钟 时序电路 输出值是输入值和电路状态的函数 输入变化后新的输出出现在下一个时钟事件或者其他事件发生 电路有循环反馈, 存在存储元件 72

组合逻辑符号 通行的组合逻辑系统采用被称为 逻辑门 的标准符合表示 Buffer, NOT A Z AND, NAND A B Z OR, NOR A B Z 73

组合电路举例 日历子系统, 计算每个月的天数 用来在显示器上显示 输入 : 月份 闰年标志 输出 : 天数 74

软件的实现 integer number_of_days ( month, leap_year_flag) { } switch (month) { } case 1: return (31); case 2: if (leap_year_flag == 1) then return (29) else return (28); case 3: return (31);... case 12: return (31); default: return (0); 75

组合数字系统硬件实现 问题 : 输入输出的数量? 月的二进制表示? 4 个输出线 电路行为 : 组合电路 真值表 month leap d28 d29 d30 d31 month leap d28 d29 d30 d31 0000 0001 0 0 0 1 0010 0 1 0 0 0 0010 1 0 1 0 0 0011 0 0 0 1 0100 0 0 1 0 0101 0 0 0 1 0110 0 0 1 0 0111 0 0 0 1 1000 0 0 0 1 1001 0 0 1 0 1010 0 0 0 1 1011 0 0 1 0 1100 0 0 0 1 1101 111 76

组合电路实现 本课程讲学习如何设计? 77

时序电路举例 组合门锁 : 连续输入 3 个正确的密码, 才能打开门 ; 只要有一个密码不对, 门锁将复位, 不接受任何密码 ; 知道特殊的复位操作才能打开门 输入 : 输入值序列, 复位信号 reset 输出 : 门开 / 关 存储 : 必须记住密码组合

软件实现 integer combination_lock ( ) { integer v1, v2, v3; integer error = 0; static integer c[3] = 3, 4, 2; while (!new_value( )); v1 = read_value( ); if (v1!= c[1]) then error = 1; while (!new_value( )); v2 = read_value( ); if (v2!= c[2]) then error = 1; while (!new_value( )); v3 = read_value( ); if (v2!= c[3]) then error = 1; } if (error == 1) then return(0); else return (1);

实现 : 时序电路实现 new value reset clock state open/closed

实现 : 时序电路实现 closed ERR reset closed S1 C1=value & new C1!=value & new closed S2 C2=value & new C2!=value & new S3 closed C3=value & new C3!=value & new open OPEN not new not new not new

实现 : 时序电路实现 数据通路 :Datapath 存储预设密码 比较器 控制器 :Controller 有穷状态机控制 ; 状态 控制数据通路 value comparator 数据通路 C1 C2 C3 multiplexer mux control new 控制器 equal controller reset clock equal open/closed

数字系统 数字系统 数据通路 控制器 代码寄存器 算逻部件 ALU 多选器 状态寄存器 译码器 寄存器 组合逻辑 开关网络 83

当前数字设计的趋势 越来越复杂的设计 性能越来越高 越来越短的推向市场时间 (Time to Market) 越来越低的价格 大量使用计算机辅助设计工具 多层次的设计描述 大量使用复用技术 IP(Intellectual Property) 验证技术成为关键 (60%-80% 的时间 ) 84

课程重点 在设计层次上以门级 (Gate Level) 为主 是一门关于逻辑门和连接线的艺术 A/D -> 数字处理和存储 -> D/A 数字处理 原理 方法 ( 分析 设计和优化 ) 实现 ( 器件 ) 掌握数字设计中的 最基础的知识 最基本的方法 85

课程小结 数字系统 对数字处理和存储的系统 模拟世界 模拟量 A/D 数字世界? D/A 86

如何做一个能计算的设备? 人的计算方法? 计算设备 87