时钟电路

Design Complier基本知识问答

为君一笑 提交于 2020-03-23 16:43:00
1.1 什么是DC? DC(Design Compiler)是Synopsys公司的logical synthesis工具,它根据design description和design constraints自动综合出一个优化了的门级电路。它可以接受多种输入格式,如HDL、Schematics、Netlist等,并能生成多种性能 report,在reducing design time的同时提高了设计的性能。 1.2 DC能接受多少种输入格式? 支持 .db、.v、.vhd、.edif、.vgh、.lib等,.db一般是厂商的单元库;.v是veilog的后缀;.vhd是VHDL的后缀;.edif 和 .vhd是两种形式的netlist。 1.3 DC提供多少种输出格式? 提供 .db、.v、.vhd、edif、.vgh等,并可以输出sdc、sdf等相关格式文件。 1.4 DC的主要功能或者主要作用是什么? DC是把HDL描述的电路综合为跟工艺相关的门级电路。并且根据用户的设计要求,在timing、area、power上取得最佳的效果。在floorplanning和placement和插入时钟树后返回DC进行时序验证。 1.5 如何寻找帮助? 帮助可以用3种求助方式: 1. 使用SOLD,到文档中寻求答案 2. 在命令行中用man+ DC命令(我最喜欢这种) 3. 在命令行中用info+

CPU中断的工作原理,从最底层讲起

a 夏天 提交于 2020-02-15 13:23:23
  前言   中断的概念属于硬件层。虽然我们在进行软件编程时不会直接使用中断,但理解它对我们来说依然重要。   我们在使用线程切换及状态管理、异常处理、硬件与处理器的交互、I/O操作等指令时,中断都在默默的为我们服务。   处理器基于硬件封装对外的指令集,底层语言封装指令集为我们提供更加简单的抽象,高级语言基于底层语言赋予程序更明确的语义。可以看到在这条关系链条中,下层的变动会牵一发而动全身影响上层。而上层想要提高效率,改变机制也必须得到下层的支持。   像 I/O 处理的不断演进,从占用CPU等待到通过中断阻塞等待到多路复用与异步,如果没有下层的支持上层是不可能实现的。而不了解下层的原理我们也很难真正理解一个机制的高效的原因。因此了解下层的原理对应用层工程师来说同样重要。   什么是中断   现代计算机具有多任务处理的能力,往往一台我们办公使用的普通计算机上都会同时运行着几十上百的任务(进程)。我们很难想象,我们点击一下鼠标,需要等待计算机的进程调度模块调度到鼠标处理任务后再给我们做出响应,这对我们来说是不可接受的。   现实是我们在点击鼠标或键盘时(正如我现在在做的事情),计算机会立即给我反馈处理结果,计算机与我们之间是在进行实时交互的。而实时性的实现便是依赖了中断,中断是为了顺应人们对实时性交互的需求而产生的技术。中断之所以有用,是因为它会立刻停下当前的程序(软件

试着制造一台计算机

。_饼干妹妹 提交于 2020-02-11 14:25:11
来源:《计算机是怎样跑起来的》 2.1 制作微型计算机所需的元件 制作微型计算机所需的基础元件只有 3 个: CPU, 负责解释、执行程序,这里使用 Z80 CPU 内存, 负责存储程序和数据, TC5517 I/O, 负责将计算机和外部设备(周边设备)连接在一起, Z80 PIO Z80 是一款古老的CPU, TC5517 是可以存储 2K 的 8比特数据的内存。 PIO ( Parallel I/O) 可以在微型计算机和外部设备之间并行地(一排一排地)输入输入8 比特的数据。 辅助元件: 时钟发生器 : 为了驱动 CPU运转, 称为 “ 时钟信号” 的电信号必不可少, 这种电信号就好像自身带有一个时钟, 每隔一定时间就变换一次电压的高低, 输出时钟信号的元件叫做 “时钟发生器” 。 时钟发生器中带有晶振, 根据其自身的频率(振动的次数) 产生时钟信号, 时钟信号的频率可以衡量 CPU的运转速度, 这里使用的是 2.5MHZ 的时钟发生器 (每隔 1 s 发出 1 次时钟信号就是 1 Hz) 指拨开关 : 用于 输入程序 的装置也是必不可少的, 在这里我们通过拨动指拨开关来输入程序, 指拨开关是由 8 个 开关并排连在一起构成的元件, 输出程序 执行结果的装置是 8 个 LED(发光二极管)。 剩下一些细碎的元件, 电阻是用于阻碍电流流动、降低电压值的元件。 为了省去布线的麻烦,

时钟与复位

痞子三分冷 提交于 2020-01-25 18:01:10
内容: 主要涵盖了设计者在设计模块或者知识产权(Intellectual Preoperty)时所要用到的一些建议。 同步设计(对ASIC时序控制最安全的方法): 由单个主时钟和主置位/复位信号驱动设计中所有的时序器件。 一、避免使用行波计数器 含义:即使用触发器输出作为下一级触发器的时钟输入端 缺点: 由于第一个触发器的输出响应导致第二个触发器的时钟输入相对于时钟信号产生偏移(延迟); 无法 在每个时钟边沿都激活 :由于延迟问题,当时钟发生跳变时,第一个触发器的输出未发生变化,从而导致第二个触发器的时钟输入变化较时钟信号晚;在每个时钟边沿都激活?可能在某几个时钟边沿激活?考虑的是第二个触发器的激活? 优点:能够减少电路的漏电流并降低电路的功耗,在低功耗设计中会取得很好的效果; 二、避免使用门控时钟 前端设计注意:含门控时钟的设计在仿真过程中可能工作正常,但是综合时会出现问题; 含义:在时钟线上使用门控单元,使用门控逻辑使能信号开关时钟; 优点:能够有效减少功耗,当时钟被门控电路关闭后,门控时钟在根部将时钟关闭,该时钟网络和其中的寄存器都会停止翻转,从而减少功耗; 同步设计中的功耗来源: 在每个时钟边沿变化的组合逻辑所产生的功耗(由触发器驱动这些逻辑组合); 由触发器产生的功耗(及时在触发器的输入和内部状态不发生变化,该功耗仍存在); 时钟树产生的功耗(通常占到总功耗的50%);

基于单片机的GPS定位模块

好久不见. 提交于 2020-01-24 14:44:43
随着时代的发展,先进的科学技术给人们的生活带来了翻天覆地的变化。各种各样的智能化产品层出不穷,推动着社会的进步。全球定位系统GPS是美国从20世纪70年代开始研制,在1994年建成,以接收导航卫星信号为基础的非自主式导航与定位系统,它以全球性、全能性、全天候性、连续实时高精度的实时时间、三维位置、三维速度为人们的生活带来了方便。随着全球定位技术的不断改进和完善,它的应用领域将会不断地扩大,必将成为信息时代不可缺少的一部分。在我们的生活中GPS定位系统给我们带来了便利,如车载GPS导航仪、GPS手持设备、GPS/GPRS远程终端控制设备等,但是他们的价格比较昂贵。本设计使用低功耗的AT89S52单片机、GPS卫星定位模块和LCD12864液晶显示模块来实现对GPS定位信息的计算和显示。GPS信息主要有GPGSV(可见卫星信息)、GPGLL(地理定位信息)、GPRMC(推荐最小定位信息)、GPVTG(地面速度信息)、GPGGA(GPS定位信息)和GPGSA(当前卫星信息)。在设计中我用软件只对GPRMC(最小定位信息)和GPGGA(GPS定位信息)进行了解析,并将解析后的数据转换成字符,通过LCD12864显示日期、时间、经度、纬度、航向、速度和海拔高度等卫星信息。本设计思路清晰、结构简易、性价比高,对研究GPS定位系统二次开发有重要作用。 1.总体设计方案 1.1系统设计框图

数字SOC设计之低功耗设计入门(五)——RTL级低功耗设计(续)

≯℡__Kan透↙ 提交于 2019-12-20 17:33:03
二、RTL级低功耗设计(续)    前面一篇博文我记录了操作数隔离等低功耗设计,这里就主要介绍一下使用门控时钟进行低功耗设计。   (4)门控时钟   门控时钟在我的第一篇博客中有简单的描述,这里就进行比较详细的描述吧。我们主要学习门控时钟电路是什么、什么使用门控时钟、综合库里的门控时钟、如何使用门控时钟、对门控时钟的一些处理、手动插入门控时钟。我们重点介绍如何 使用门控时钟和门控时钟的处理 。 ①门控时钟概述   门控时钟有两种方案:一种直接针对寄存器的时钟进行门控,一种对模块级别的时钟进行门控。相比之下,直接对寄存器的时钟进行门控更为灵活。因为在很多时候,我们不能保证刚好将不需要门控的寄存器与需要门控的寄存器分配在不同的模块。因此我们主要介 绍寄存器级的门控时钟 。 ============================================================================= 下图是门控时钟的一个简单电路图:                上述电路图中,将 控制信号(EN) 直接与 时钟信号(CLK) 进行 与 操作,以完成门控。门控后的时钟信号GCLK送到寄存器阵列中。这样,当EN为0时,该时钟被关掉。相应的波形如下所示:          可以看出,如果EN信号不加控制,会导致门控时钟信号出现毛刺。时钟上的信号出现毛刺是非常危险的

PCB的EMC设计

假装没事ソ 提交于 2019-12-06 06:47:57
1、PCB的EMC简单对策 同系统EMC的解决措施一样,PCB的EMC也要针对其三要素(干扰源、耦合途径、敏感装置)对症下药: 降低EMI强度 切断耦合途径 提高自身的抗扰能力 针对PCB的耦合途径之一传导干扰,我们通常采用扩大线间距、滤波等措施; 针对PCB的耦合途径之二辐射干扰,我们通常主要采取控制表层布线,增加屏蔽等手段; 2、单板层设置的一般原则 A.元器件下面(顶层、底层)为地平面,提供器件屏蔽层以及顶层布线提供回流平面; B.所有信号层尽可能与地平面相邻(确保关键信号层与地平面相邻),关键信号不跨分割; C.尽量避免两信号层直接相邻; D.主电源尽可能与其对应地相邻; E.兼顾层压结构对称; 以六层板为例,以下有3种方案: A.S1 G1 S2 S3 P1 S4 B. S1 G1 S2 P1 G2 S3 C. S1 G1 S2 G2 P1 S3 优先考虑方案B,并优先考虑布线层S2,其次是S3、S1; 在成本较高时,可采用方案A,优选布线层S1,S2,其次是S3,S4; 对于局部、少量信号要求较高的场合,方案C比方案A更合适;(为什么?) (注意,在考虑电源、地平面的分割情况下,实际情况因分割等因素可能有所出入) 3、电源、地系统的设计 3.1 滤波设计 3.1.1滤波电路的基本概念 滤波电路是由电感、电容、电阻、铁氧体磁珠和共模线圈等构成的频率选择性网络

计算机处理器基础原理笔记

被刻印的时光 ゝ 提交于 2019-12-02 06:43:50
1. 计算机每执行一条指令的过程,可以分解成这样几个步骤。 (1) Fetch (取得指令) ,也就是从PC寄存器里找到对应的指令地址,根据指令地址从内存里把具体的指令,加载到指令寄存器中,然后把PC寄存器自增,在未来执行下一条指令。 (2) Decode (指令译码) ,也就是根据指令寄存器里面的指令,解析成要进行什么样的操作,是MIPS指令集的R、I、J中哪一种指令,具体要操作哪些寄存器、数据或者内存地址。 (3) Execute (执行指令) ,也就是实际运行对应的 R、I、J 这些特定的指令,进行算术逻辑操作、数据传输或者直接的地址跳转。 (4)重复进行(1)~(3)的步骤。 这其实就是一个永不停歇的“Fetch - Decode - Execute”的循环,这个循环称之为 指令周期 (Instruction Cycle)。 在取指令的阶段,指令是放在 存储器 里的,实际上, 通过 PC 寄存器和指令寄存器取出指令的过程,是由控制器(Control Unit )操作的。指令的解码过程,也由控制器进行 。到了执行指令阶段,无论是进行算术操作、逻辑操作的R型指令,还是进行数据传输、条件分支的I型指令,都是由 算术逻辑单元 (ALU)操作的,也就是由 运算器 处理的。不过,如果是一个简单的无条件地址跳转,那么我们可以直接在 控制器 里面完成,不需要用到运算器,如下所示:

FPGA面试题

♀尐吖头ヾ 提交于 2019-11-28 08:37:55
FPGA面试题——网上资料整理 2019-08-23 21:22:30 1:什么是同步逻辑和异步逻辑?(汉王) 同步逻辑是时钟之间有固定的因果关系。 异步逻辑是各时钟之间没有固定的因果关系。 〔补充〕: 同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 x 有无变化,状态表中的每个状态都是稳定的。 异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。 2:同步电路和异步电路的区别: 同步电路:存储电路中所有触发器的时钟输入端都接同一个时钟脉冲源,因而所有触发器的状态的变化都与所加的时钟脉冲信号同步。 异步电路:电路没有统一的时钟,有些触发器的时钟输入端与时钟脉冲源相连,这有这些触发器的状态变化与时钟脉冲同步,而其他的触发器的状态变化不与时钟脉冲同步。 3:时序设计的实质: 电路设计的难点在时序设计,时序设计的实质就是满足每一个触发器的建立/保持时间的要求。 4:建立时间与保持时间的概念? 建立时间:触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的时间。 保持时间:触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的时间

FPGA中竞争冒险问题的研究

有些话、适合烂在心里 提交于 2019-11-28 02:37:42
http://hi.baidu.com/hieda/blog/item/17544029a34a52fd98250a6b.html 什么是竞争冒险?请看: 组合逻辑电路中竞争冒险的分析 1 引言 现场可编程门阵列(FPGA)在结构上由逻辑功能块排列为阵列,并由可编程的内部连线连接这些功能块,来实现一定的逻辑功能。 FPGA可以替代其他PLD或者各种中小规模数字逻辑芯片在数字系统中广泛应用,也是实现具有不同逻辑功能ASIC的有效办法。FPGA是进行原型设计最理想的载体,原型机的最初框架和实现通过PFGA来验证,可以降低成本、缩短开发周期。利用FPGA的可重配置功能,可以在使用过程中,在不改变所设计的设备的硬件电路情况下,改变设备的功能。但和所有的数字电路一样,FPGA电路中也存在毛刺问题。它的出现会影响电路工作的可靠性、稳定性,严重时会导致整个数字系统的误动作和逻辑紊乱。在此详细论述了解决此问题的多种方法。 2 FPGA的功能和结构特点 2.1 FPGA的功能 FPGA的功能由逻辑结构的配置数据决定,在工作时,这些配置数据存放在片内的SRAM或者熔丝图上。使用SRAM的FPGA器件,在工作前需要从芯片外部加载配置数据,这些配置数据可以存放在片外的EPROM或其他存储体上,人们可以控制加载过程,在现场修改器件的逻辑功能。 图1 实际逻辑电路 图2 LUT的实现方式 2.2