时钟信号

一位前辈的工作经验

时光怂恿深爱的人放手 提交于 2019-11-28 02:36:02
http://www.cnblogs.com/jianyungsun/archive/2010/12/07/1899533.html 在公司里的几个月,做的项目其实不多,但是收获还是有一些,我觉得收获最大的是 设计 理念的改变,这也是我这段 时间 最想总结的,我会在后面逐渐阐述。 如对此文有疑问或想给作者提 建议 请给作者发email: wangdian@tom.com 1/时序是设计出来的 我的boss有在华为及峻龙工作的背景,自然就给我们讲了一些华为及altera做逻辑的一些东西,而我们的项目规范,也基本上是按华为的那一套去做。在工作这几个月中,给我感触最深的是华为的那句话:时序是设计出来的,不是仿出来的,更不是湊出来的。 在我们公司,每一个项目都有很严格的评审,只有评审通过了,才能做下一步的工作。以做逻辑为例,并不是一上来就开始写代码,而是要先写总体设计方案和逻辑详细设计方案,要等这些方案评审通过,认为可行了,才能进行编码,一般来说这部分工作所占的时间要远大于编码的时间。 总体方案主要是涉及模块划分,一级模块和二级模块的接口信号和时序(我们要求把接口信号的时序波形描述出来)以及将来如何测试设计。在这一级方案中,要保证在今后的设计中时序要收敛到一级模块(最后是在二级模块中)。什么意思呢?我们在做详细设计的时候,对于一些信号的时序肯定会做一些调整的

威盛ASIC笔试题及心得

时光总嘲笑我的痴心妄想 提交于 2019-11-28 02:36:00
1、用给出的一些门电路,搭出表达式output=en_try? en&nomask : en这一表达式 entry,en,nomask是输入 2、给出电路,将时钟域1的脉冲传到时钟域2,两个时钟域的关系未知 3、给出三分频的电路 4、用pmos和nmos表示F=AB+CD(表达式与原题有点出入,记不清了,大概就这个意思) 5、两段verilog程序,判断哪一段会产生latch,并修改 6、给出了电路图,问在做DFT测试时可能产生什么问题,并修改 7、给了张电路图,是功放与D触发器相连,问如何减少功耗(这个我一点都不懂) 8、触发器S1、组合电路C1、触发器S2、组合电路C2依次相连,问的是时延、时钟等之间的 关系(是不是要考虑hold,setup时间呢?) 9、这个实在想不出了:( 10、用方块表示cpu,硬盘,显卡,南桥(iobridge),北桥(memory bridge),usb控制 器,键盘,内存,画出计算机的结构。 11、关于计算机内存页面管理的东西,画图示意虚拟地址与物理地址的关系,简单介绍块 表 可怜我都不会做:( 贴贴题目积攒一下rp,祝xdjm们好运 先说说题目吧 第一题:给你一堆逻辑门再给你一个逻辑表达式,让你用这些门实现这个表达式 第二题:关于时钟域的,要求把一个时钟域中的信号传递到另外一个时钟域中 第三题:画出三分频1:1的电路图 第四题

FPGA面试宝典

情到浓时终转凉″ 提交于 2019-11-28 02:35:45
http://www.cnblogs.com/qiweiwang/archive/2010/10/23/1859546.html   这段时间去面试了几家公司,发现比较大的公司相对于重视基础问题。这里边又有几个问题特别的突出。他们是:同步时钟设计、亚稳态、异步FIFO。可以说,这些个问题要是弄清楚了,就至少满足了技术方面1/3的要求,另外的2/3是什么,我就说不清楚了。又有人发了竞争冒险毛刺的问题,不过,对于采用同步设计方法的系统,这些问题一般不会遇到。下面就谈谈我对这些问题的看法,要是你觉得看这些东西觉得类似一堆狗屎,那么恭喜你,你面试成功的机会增加了1/3;要是你你觉得阿,什么样的牛人拉了一堆牛屎,那么不好意思,还是再去补补课把。这里推荐一本《数字设计——原理和实践》(John F.Wakerly)的书,仔细看一遍吧。   同步时钟设计   简单说就是一个系统中(或系统中的一部分)都采用同一个时钟触发。系统中的(D)触发器全部都连接到一个时钟,而且只控制触发器的同步端(输入,同步置位,同步复位)。这样的系统是相对于异步系统而言的,异步系统并不是不同的触发器时钟端连接到不同的时钟信号的系统(一般的这样叫做跨时钟系统,是相对几个较小的同步系统的组合),而是更本没有了时钟的概念,依靠和触发器构造一样的反馈电路组成。相对于异步系统,同步系统更好设计(异步设计则象一个魔术

性能最大化ΔΣ 转换器

自作多情 提交于 2019-11-28 02:34:57
http://hi.baidu.com/hieda/blog/item/4a7f2382ca9f70a60cf4d21d.html 作者:德州仪器公司 Russell Anderson 数据转换器分辨率和速度一直处于不断改进中。我仍然记得大概25年前在Tektronix参加的一个会议上,集体讨论了数据转换器的未来发展方向。我甚至不敢想象分辨率能够从 16 位提高到 24 位。但是,ΔΣ 转换器的架构却能够实现如此激动人心的分辨率突破。 ΔΣ 转换器能够实现 24 位的转换结果。虽然这听起来让人振奋,但是为了达到最佳效果,我们仍然需要正确选择许多参数。随着抽样、调制时钟和 PGA 的调整,相同数据速率在性能方面会有所不同。在优化数据转换结果时,对于这些方方面面做到完全了解并非易事。另外一些问题还包括输入阻抗、滤波器响应、抗混淆,以及长期漂移。 ΔΣ 转换器介绍 ΔΣ 转换器的优势就在于它把大部分转换过程转移到了数字域。这使得它能够把高性能模拟与数字处理融合在一起。模拟元件采用单个比较器、积分器和1位的DAC。由于1位DAC只有两个输出,因此它在整个电压范围内均是线性化的。这种高水平的线性化是 ΔΣ 转换器实现高精确度的原因之一。最终的绝对精度主要取决于基准电压的精度。 ΔΣ 调制器 图1:ΔΣ调制器 让我们看一个简单的 ΔΣ 调制器中的波形(参见图1)。其中输入信号X1比例为1/4

异步FIFO结构及FPGA设计 ---跨时钟域设计

心已入冬 提交于 2019-11-28 02:34:21
http://hi.baidu.com/hieda/blog/item/e8f8752465afb337c895593c.html 异步FIFO 结构及FPGA 设计 吴自信,张嗣忠. 单片机及嵌入式系统应用,2000 摘要 :首先介绍异步FIFO的概念、应用及其结构,然后分析实现异步FIFO的难点问题及其解决办法;在传统设计的基础上提出一种新颖的电路结构并对其进行综合仿真和FPGA实现。 1、异步FIFO介绍 在现代的集成电路芯片中,随着设计规模的不断扩大,一个系统中往往含有数个时钟。多时钟域带来的一个问题就是,如何设计异步时钟之间的接口电路。异步 FIFO(First In First Out)是解决这个问题一种简便、快捷的解决方案。使用异步FIFO可以在两个不同时钟系统之间快速而方便地传输实时数据。在网络接口、图像处理等方面, 异步FIFO得到了广泛的应用。 异步FIFO是一种先进先出的电路,使用在需要产时数据接口的部分,用来存储、缓冲在两个异步时钟之间的数据传输。在异步电路中,由于时钟之间周期和相位完全独立,因而数据的丢失概率不为零。如何设计一个高可靠性、高速的异步FIFO电路便成为一个难点。本文介绍解决这一问题的一种方法。 由图1可以看出:整个系统分为两个完全独立的时钟域——读时钟域和写时间域;FIFO的存储介质为一块双端口RAM,可以同时进行读写操作。在写时钟域部分

单片机时钟电路

久未见 提交于 2019-11-27 09:21:15
首先,单片机能正常工作的必要条件之一就是时钟电路,所以单片机就很需要 晶振 。   晶振,全称是石英 晶体 振荡器 ,是一种高精度和高稳定度的振荡器。通过一定的外接电路来,可以生成频率和峰值稳定的正弦波。而单片机在运行的时候,需要一个脉冲信号,做为自己执行指令的触发信号,可以简单的想象为:单片机收到一个脉冲,就执行一次或多次指令。 、 单片机工作时,是一条一条地从 RoM 中取指令,然后一步一步地执行。单片机访问一次 存储器 的时间,称之为一个机器周期,这是一个时间基准。—个机器周期包括12个时钟周期。如果一个单片机选择了12兆赫兹晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。  MCS—51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引入一个新的概念:指令周期。所谓指令周期就是指执行一条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12兆赫兹,则一个机器周期就是1us。而DJNZ指令是双周期指令,所以执行一次要2us。如果该指令需要执行500次,正好1000us,也就是1ms。   机器周期不仅对于指令执打有着重要的意义,而且机器周期也是单片机 定时器

SPI通讯(Serial Peripheral interface)

你。 提交于 2019-11-27 00:53:23
1. SPI,是一种高速的,全双工, 同步的通信总线,并且在芯片的管脚上只占用四根线: SCLK,MISO,MOSI,CS 2. SPI结构简图:              可以看出,SPI主从设备两端都有一个位移寄存器, 数据在位移寄存器上通过逐位移动来实现同步双工通信,在主机发送数据的同时也会收到从机发来的数据。类似一个循环。 (图片不好编辑,将就着看), 需要注意的是传输过程是通过主机写入一个需要发送的数据来开始的。   如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。发送结束可以设置中断。 3. 时钟极性(POL)和相位(PHA), 通过配置极性及相位为0或1,可配置成为4种不同的传输时序:极性为0,时钟空闲为低电平,反之为高;相位为0,据在第一个时钟跳变沿被采集,为1的话在第二个跳变沿被采集。如图:                                      4. SPI 时钟最多可以到 18Mhz,支持 DMA,可以配置为 SPI 协议或者 I2S (一种音频传输总线,集成电路内置音频总线)。 5. NSS引脚: 主从模式选择,简单了解,用到时再具体了解。 7. 数据帧格式: 可软件设置MSB或LSB哪个在先(SPI_CR1寄存器中LSBFIRST位)

SPI、I2C和UART

我们两清 提交于 2019-11-25 21:34:54
一、SPI SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用。 接口 SPI接口经常被称为4线串行总线,以主/从方式工作,数据传输过程由主机初始化。如图1所示,其使用的4条信号线分别为: 1) SCLK:串行时钟,用来同步数据传输,由主机输出; 2) MOSI:主机输出从机输入数据线,通常先传输MSB; 3) MISO:主机输入从机输出数据线,通常先传输LSB; 4) SS:片选线,低电平有效,由主机输出。 在SPI总线上,某一时刻可以出现多个从机,但只能存在一个主机,主机通过片选线来确定要通信的从机。这就要求从机的MISO口具有三态特性,使得该口线在器件未被选通时表现为高阻抗。 数据传输 在一个SPI时钟周期内,会完成如下操作: 1) 主机通过MOSI线发送1位数据,从机通过该线读取这1位数据; 2) 从机通过MISO线发送1位数据,主机通过该线读取这1位数据。 这是通过移位寄存器来实现的。如图2所示,主机和从机各有一个移位寄存器,且二者连接成环。随着时钟脉冲,数据按照从高位到低位的方式依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。 时钟极性和时钟相位 在SPI操作中