• 异常处理

    程序错误通常包括: 语法错误 逻辑错误(或语义错误) 运行异常:程序设计对程序运行环境考虑不周而造成的程序运行错误 对于x/y,给y输入了0 文件打开错误 由内存空间不足导致的内存访问错误 可以预料,但无法避免 保证程序的鲁棒性(robustness),需要加一些对可能出现的异常进行预见性处理 异常处理策略 就地处理 异地处理 就地处理常用:调用exit或abort...
  • 输入/输出

    I/O类库基本类ios ​ istream ​ —ifstream ​ —istringstream ​ ostream ​ —ofstream ​ —ostringstream 面向控制台的I/O cin(istream的对象) cout(ostream的对象) cerr和clog(ostream的对象):对应特殊信息(如错误信息),cerr不带缓冲,clog带...
  • 6.1基本运算部件

    指令集中涉及的运算 涉及的定点数运算 算术运算 带符号整数 无符号整数 逻辑运算 逻辑操作 移位操作 涉及的浮点数运算 所有运算都可由ALU或加法器+移位器+多路选择器+控制逻辑实现 1.串行进位加法器 n位串行进位加法器的延迟 Cn:2nC_n:2nCn​:2n 最后一级合数2n+12n+12n+1(n=1、2的话还是6级) 2.并行进位加法器先行进位...
  • 操作符重载

    双目操作符重载 单目操作符重载 操作符++和–的重载 实现途径 operator # “#”代表任意可重载的操作符 1234567891011121314151617181920212223242526272829//成员函数class Complex{ public: Complex operator + (const Complex& x) const ...
  • 5.1可编程逻辑器件和FPGA设计

    1.可编程逻辑器件(PLD) 2.存储器阵列 寄存器存储少量数据,速度快 存储器阵列用来存储大量数据,速度比寄存器慢 存储器阵列中每位数据对应一个记忆单元(cell),成为存储元 只读寄存器(ROM)非易失性存储器,电源断电,存储数据也不会消失 随机存取存储器(RAM)易失性存储器,一旦电源断电,RAM存储的数据就消失 静态RAM:保持电源,存储单元中存放数据就保持不变 动态RAM...
  • 4.4典型时序逻辑部件设计

    1.计数器 一般从0开始计数,在达到最大计数值时输出一次计数完成信号,并重新开始计数 异步行波加法计数器 用T触发器实现(假设上升沿触发),激励输入串行传递,每个时钟周期传递一次。 当编码为1111时,下个时钟到达时,经过最长的延时,又回到0000 同步并行加法计数器 所有触发器共用同一个时钟信号 在时钟信号边沿到达后,所有触发器的输出同时发生变化 带使能端EN的T触发器,上升沿...
  • 4.3同步时序逻辑设计

    1.同步时序逻辑设计步骤 2.状态图/状态表设计例:检测一连串0/1中是否出现”101” 3.状态化简和状态编码状态化简 状态编码 4.电路设计和分析电路设计 电路分析(未用状态分析) 电路分析(定时分析)
  • 4.2锁存器和触发器

    1.双稳态元件 用于存储1位二进制数据,有两个互补的输出状态 状态1:置位(Set)状态,表示存储逻辑“1” 状态0:复位(Reset)状态,表示存储逻辑“0” 双稳态元件的简单实现 串联两个反相器,则反相器的输出状态不同,且保持稳定 双稳态元件无法改变电路状态 用1个或多个输入信号能驱动双稳态元件进入稳定状态,这些输入信号称为激励信号或激励输入 根据触发方式不同,可以实...
  • map容器

    map容器简介 map是关联容器,存储键值对(key-value),并根据键值自动排序(默认升序) 底层实现是红黑树 每个元素是一个pair,由key和value组成 不允许出现相同的key,若插入相同key的新值,则旧值会被覆盖 #include<map> map/multimap构造map<T1, T2> mapTT; multimap<T1, ...
  • 4.1时序逻辑电路概述

    时序逻辑:输出结果不仅取决于当前时刻的输入值,还取决于电路过去时刻的行为(当前状态、现态、旧状态) 电路中有存储元件,存储逻辑信号(0、1)的值 电路输入值发生变化时,新的输入值可能使得电路保持当前状态,也可能使得电路状态发生改变,进入新的状态。 1.时序逻辑与有限状态机 有限状态机是一种刻画状态以及状态转换的理论工具 通常用状态图描述有限状态机 状态:用包含状态符号的圆圈表示 状...