1.软核、固核、硬核软核:把功能经过验证的、可综合的、实现后电路结构总门数在5000门以上的VerilogHDL模型称之为软核,而把由软核构成的器件成为虚拟器件。固核:把在某一种FPGA器件上实现的,经过验证是正确的,且总门数在5000门以上的电路结构编码文件,称之为固核。硬核:把在某一种ASIC工艺器件上实现的,经过验证是正确的,且总门数在5000门以上的电路结构版图掩模,称之为硬核。2.英文缩写解释(1)PCB印刷电路板(2)RTC实时时钟芯片(3)FPGA现场可编程门阵列(4)ASIC特定用途集成电路/专用集成电路(5)DMA直接内存存取(6)DSP数字信号处理器(7)FIFO先入先出队列(8)KCMR共模抑制比(9)GSM全球移动通信系统(10)OTA空中下载(11)IRQInterruptReQuest中断请求(12)USBUniversalSerialBus通用串行总线(13)VHDL硬件描述语言(14)3.HoldTime和SetupTime的概念建立时间(setuptime)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器。保持时间(holdtime)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。4.解释setup和holdtimeviolation,画图说明,并说明解决办法?首先来看setuptime,其正常工作要满足公式:TclkTcq+Tcomb+Tsetup–Tskew。如果出现了setupviolation,则上面的公式变成:TclkTcq+Tcomb+Tsetup–Tskew。我们分两种case来考虑出现的setupviolation:1.设计电路的过程中在设计时,可以看到,上面的式子中,我们有3个变量可以来操作,Tclk,Tcomb,Tskew1)这里首先的想法是增大Tclk,就是降低系统的工作频率此时就可以令式子满足条件,但是往往这个是不科学的,一般都是最后才想到要降低系统时钟频率来来满足setuptime。2)减小Tcomb,具体就像什么pipeline或者是在不改变逻辑功能的前提下,改变成其他样式的组合逻辑,进行组合逻辑的优化,或者是改变扇出系数使得延时减小,或者是增大cell的尺寸来使得延时减小都是可以施行的措施。3)增大Tskew,就是在时钟路径上插入buffer来使得Tskew变大,当然是在不影响holdtiming的情况下。2.芯片回来了看上面的式子,在芯片回来时,我们能改变的就只有Tclk,相当于我们只能使得工作频率降低,来使得setupviolation消除。首先来看holdtime,其正常工作要满足公式:TholdTcq+Tcomb–Tskew。如果出现了holdviolation,则上面的公式变成:TholdTcq+Tcomb-Tskew。此时电路的hold不被满足,还是分两种case来讨论:1.设计电路的过程中对于上面的式子,有两个变量可以操作,就是Tcomb和Tskew1)增大Tcomb,那么能做的就是在datapath上面插入buffer来增加组合逻辑延时,但是相对的,当你插入buffer增大延时的时候,相应的setuptime就会变差,相当于是一个tradeoff了。所以通常这不是一个最好的选择。2)减小Tskew,这个方法通常都依赖于PR工程师了,所以一般都是在PR的时候来修正holdtime。2.芯片回来了看看上面的式子,你手上还有牌可出么?没有,所以在流片回来时,如果holdviolation出现,那么你就什么都做不了了。所以才说holdviolation要比setupviolation更可怕。但是另一方面,你也可以给芯片提供一个ss的条件(当然只是一个临时的权宜之策),比如给芯片一个低电压,高温来使得芯片的延时都变大,避过holdviolation,没准可以测试一下基本功能。5.信号位于高频段时,布局与布线需注意什么?信号线的阻抗匹配;与其他信号线的空间间隔。6.TTL器件和CMOS器件互相驱动时需注意什么?电平关系,必须保证在各自的电平范围内工作,否则,不能满足正常逻辑功能,严重时会烧毁芯片。驱动能力,必须根据器件的特性参数仔细考虑,计算和试验,否则很可能造成隐患,在电源波动,受到干扰时系统就会崩溃。时延特性,在高速信号进行逻辑电平转换时,会带来较大的延时,设计时一定要充分考虑其容限。7.ROM、RAM、SRAM、DRAM、SDRAM、FLASHROM和RAM指的都是半导体存储器,ROM是ReadOnlyMemory的缩写,RAM是RandomAccessMemory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。RAM有两大类,一种称为静态RAM(StaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(DynamicRAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDRRAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDRRAM。DDRRAM(Date-RateRAM)也称作DDRSDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-RambusDRAM。在很多高端的显卡上,也配备了高速DDRRAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通话记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。目前Flash主要有两种NORFlash和NANDFlash。NORFlash的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NORFLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。NANDFlash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NANDFlash上的代码,因此好多使用NANDFlash的开发板除了使用NANDFlash以外,还作上了一块小的NORFlash来运行启动代码。一般小容量的用NORFlash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NANDFLASH,最常见的NANDFLASH应用是嵌入式系统采用的DOC(DiskOnChip)和我们通常用的“闪盘”,可以在线擦除。目前市面上的FLASH主要来自Intel,AMD,Fujitsu和Toshiba,而生产NANDFlash的主要厂家有Samsung和Toshiba。8.同步逻辑和异步逻辑?同步逻辑是时钟之间有固定的因果关系;异步逻辑是各时钟之间没有固定的因果关系。同步时序逻辑电路的特点:各触发器的时钟端全部连接在一起,并接在系统时钟端,只有当时钟脉冲到来时,电路的状态才能改变。改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入x有无变化,状态表中的每个状态都是稳定的。异步时序逻辑电路的特点:电路中除可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件,电路中没有统一的时钟,电路状态的改变由外部输入的变化直接引起。9.同步电路和异步电路?同步电路是说电路里的时钟相互之间是同步的,同步的含义不只局限于同一个CLOCK,而是容许有多个CLOCK,这些CLOCK的周期有倍数关系并且相互之间的相位关系是固定的,比如,10ns,5ns,2.5ns三个CLOCK的电路是同步电路。综合,STA都是针对同步电路。异步电路是指CLOCK之间没有倍数关系或者相互之间的相位关系不是固定的,比如5ns,3ns两个CLOCK是异步的。异步电路无法作真正意义上的综合及STA,如果在同步电路里夹杂有异步电路,就set_flase_path。所以异步电路只有靠仿真来检查电路正确与否。异步电路主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,但它同时也用在时序电路中,此时它没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。同步电路是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。比如D触发器,当上升延到来时,寄存器把D端的电平传到Q输出端。10.IC设计中同步复位与异步复位的区别?同步复位:就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。异步复位:是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。同步复位的优点:a、有利于仿真器的仿真。b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。同步复位的缺点:a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:组合逻辑路径延时,复位延时等因素。b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。异步复位的优点:a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。b、设计相对简单。c、异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。异步复位的缺点:a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。11.什么是亚稳态,如何解决亚稳态?亚稳态:是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。亚稳态产生的原因:在同步系统中,如果触发器的setuptime/holdtime不满足,就可能产生亚稳态,此时触发