
2、什么是同步逻辑和异步逻辑?(汉王笔试)
同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系.
3、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?(汉王笔试)
线与逻辑是两个输出信号相连可以实现与的功能.在硬件上,要用oc门来实现,由于不用 oc门可能使灌电流过大,而烧坏逻辑门. 同时在输出端口应加一个上拉电阻.
4、什么是Setup 和Holdup时间?(汉王笔试)
5、setup和holdup时间,区别.(南山之桥)
6、解释setup time和hold time的定义和在时钟信号延迟时的变化.(未知)
7、解释setup和hold time violation,画图说明,并说明解决办法.(威盛VIA
上海笔试试题)
Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求.建立时间是指触发 器的时钟信号上升沿到来以前,数据稳定不变的时间.输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器. 保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间.如果hold time 不够,数据同样不能被打入触发器.
建立时间(Setup Time)和保持时间(Hold time).建立时间是指在时钟边沿前,数据信 号需要保持不变的时间.保持时间是指时钟跳变边沿后数据信号需要保持不变的时间.如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现 metastability的情况.如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时 间,那么超过量就分别被称为建立时间裕量和保持时间裕量.
8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除.(仕兰微 电子)
9、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)
在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争.产生毛刺叫冒险.如果布尔式中有相反的信号则可能产生竞争和冒险现象.解决方法:一是添加布尔式的消去项,二是在芯片外部加电容.
10、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?(汉王笔试)
常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的.CMOS输出接到TTL是可以直接互连.TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V.
11、如何解决亚稳态.(飞利浦-大唐笔试)
亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态.当一个触发器进入亚
稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平
上.在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无
用的输出电平可以沿信号通道上的各个触发器级联式传播下去.
12、IC设计中同步复位与 异步复位的区别.(南山之桥)
同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。否则,无法完成对系统的复位工作。
异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。
二、各自的优缺点:
1、总的来说,同步复位的优点大概有3条:
a、有利于仿真器的仿真。
b、可以使所设计的系统成为100%的同步时序电路,这便大大有利于时序分析,而且综合出来的fmax一般较高。
c、因为他只有在时钟有效电平到来时才有效,所以可以滤除高于时钟频率的毛刺。他的缺点也有不少,主要有以下几条:
a、复位信号的有效时长必须大于时钟周期,才能真正被系统识别并完成复位任务。同时还要考虑,诸如:clk skew,组合逻辑路径延时,复位延时等因素。
b、由于大多数的逻辑器件的目标库内的DFF都只有异步复位端口,所以,倘若采用同步复位的话,综合器就会在寄存器的数据输入端口插入组合逻辑,这样就会耗费较多的逻辑资源。
2、对于异步复位来说,他的优点也有三条,都是相对应的
a、大多数目标器件库的dff都有异步复位端口,因此采用异步复位可以节省资源。
b、设计相对简单。
c、异步复位信号识别方便,而且可以很方便的使用FPGA的全局复位端口GSR。
缺点:
a、在复位信号释放(release)的时候容易出现问题。具体就是说:倘若复位释放时恰恰在时钟有效沿附近,就很容易使寄存器输出出现亚稳态,从而导致亚稳态。
b、复位信号容易受到毛刺的影响。
三、总结:
所以说,一般都推荐使用异步复位,同步释放的方式,而且复位信号低电平有效。这样就可以两全其美了。
13、MOORE 与 MEELEY状态机的特征.(南山之桥)
两种典型的状态机是摩尔(Moore)状态机和米立(Mealy)状态机。摩尔有限状态机输出只与当前状态有关,与输入信号的当前值无关,是严格的现态函数。在时钟脉冲的有效边沿作用后的有限个门延后,输出达到稳定值。即使在时钟周期内输入信号发生变化,输出也会保持稳定不变。从时序上看,Moore状态机属于同步输出状态机。Moore有限状态机最重要的特点就是将输入与输出信号隔离开来。Mealy状态机的输出是现态和所有输入的函数,随输入变化而随时发生变化。从时序上看,Mealy状态机属于异步输出状态机,它不依赖于时钟。
14、多时域设计中,如何处理信号跨时域.(南山之桥)
情况比较多,如果简单回答的话就是:跨时域的信号要经过同步器同步,防止亚稳态传播。例如:时钟域1中的一个信号,要送到时钟域2,那么在这个信号送到时钟域2之前,要先经过时钟域2的同步器同步后,才能进入时钟域2。这个同步器就是两级d触发器,其时钟为时钟域2的时钟。这样做是怕时钟域1中的这个信号,可能不满足时钟域2中触发器的建立保持时间,而产生亚稳态,因为它们之间没有必然关系,是异步的。这样做只能防止亚稳态传播,但不能保证采进来的数据的正确性。所以通常只同步很少位数的信号。比如控制信号,或地址。当同步的是地址时,一般该地址应采用格雷码,因为格雷码每次只变一位,相当于每次只有一个同步器在起作用,这样可以降低出错概率,象异步FIFO的设计中,比较读写地址的大小时,就是用这种方法。
如果两个时钟域之间传送大量的数据,可以用异步FIFO来解决问题
15、给了reg的setup,hold时间,求中间组合逻辑的delay范围.(飞利浦-大唐笔试)
Delay < period - setup – hold
16、时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min.组合逻辑电路最大延
迟为T2max,最小为T2min.问,触发器D2的建立时间T3和保持时间应满足什么条件.(华
为)
T3setup 定最大时钟的因素,同时给出表达式.(威盛VIA 上海笔试试题) T+Tclkdealy>Tsetup+Tco+Tdelay; Thold>Tclkdelay+Tco+Tdelay; 18、说说静态、动态时序模拟的优缺点.(威盛VIA 上海笔试试题) 静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误.它不需要输入向量就能穷尽所有的路径,且运行速度很快、占用内存较少,不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,因此静态时序分析已经越来越多地被用到数字集成电路设计的验证中. 动态时序模拟就是通常的仿真,因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径.因此在动态时序分析中,无法暴露一些路径上可能存在的时序问题; 19、一个四级的Mux,其中第二级信号为关键信号 如何改善timing.(威盛VIA 将第二级信号放到最后输出一级输出,同时注意修改片选信号,保证其优先级未被修改. 20、给出一个门级的图,又给了各个门的传输延时,问关键路径是什么,还问给出输入, 使得输出依赖于关键路径.(未知) 关键路径就是输入到输出延时最大的路径,找到了关键路径便能求得最大时钟频率。 21、逻辑方面数字电路的卡诺图化简,时序(同步异步差异),触发器有几种(区别,优 点),全加器等等.(未知) 22、卡诺图写出逻辑表达使.(威盛VIA 上海笔试试题) 23、化简F(A,B,C,D)= m(1,3,4,5,10,11,12,13,14,15)的和.(威盛) 卡诺图化简:一般是四输入,记住00 01 11 10顺序, 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 24、please show the CMOS inverter schmatic,layout and its cross sectionwith P- well process.Plot its transfer curve (Vout-Vin) And also explain the operation region of PMOS and NMOS for each segment of the transfer curve? (威 盛笔试题circuit design-beijing- 25、To design a CMOS invertor with balance rise and fall time,please define the ration of channel width of PMOS and NMOS and explain? 26、为什么一个标准的倒相器中P管的宽长比要比N管的宽长比大?(仕兰微电子) 和载流子有关,P管是空穴导电,N管电子导电,电子的迁移率大于空穴,同样的电场下,N管的电流大于P管,因此要增大P管的宽长比,使之对称,这样才能使得两者上升时间下降时间相等、高低电平的噪声容限一样、充电放电的时间相等 27、用mos管搭出一个二输入与非门.(扬智电子笔试) 28、please draw the transistor level schematic of a cmos 2 input AND gate and explain which input has faster response for output rising edge.(less delay time).(威盛笔试题circuit design-beijing- 29、画出NOT,NAND,NOR的符号,真值表,还有transistor level的电路.(Infineon笔 试) 30、画出CMOS的图,画出tow-to-one mux gate.(威盛VIA 上海笔试试题) 31、用一个二选一mux和一个inv实现异或.(飞利浦-大唐笔试) 32、画出Y=A*B+C的cmos电路图.(科广试题) 33、用逻辑们和cmos电路实现ab+cd.(飞利浦-大唐笔试) 34、画出CMOS电路的晶体管级电路图,实现Y=A*B+C(D+E).(仕兰微电子) 35、利用4选1实现F(x,y,z)=xz+yz’.(未知) 36、给一个表达式f=xxxx+xxxx+xxxxx+xxxx用最少数量的与非门实现(实际上就是化 简). 37、给出一个简单的由多个NOT,NAND,NOR组成的原理图,根据输入波形画出各点波形. (Infineon笔试) 38、为了实现逻辑(A XOR B)OR (C AND D),请选用以下逻辑中的一种,并说明为什 么?1)INV 2)AND 3)OR 4)NAND 5)NOR 6)XOR 答案:NAND(未知) 39、用与非门等设计全加法器.(华为) 40、给出两个门电路让你分析异同.(华为) 41、用简单电路实现,当A为输入时,输出B波形为…(仕兰微电子) 42、A,B,C,D,E进行投票,多数服从少数,输出是F(也就是如果A,B,C,D,E中1的个数比0 多,那么F输出为1,否则F为0),用与非门实现,输入数目没有.(未知) 43、用波形表示D触发器的功能.(扬智电子笔试) 44、用传输门和倒向器搭一个边沿触发器.(扬智电子笔试) 45、用逻辑们画出D触发器.(威盛VIA 上海笔试试题) 46、画出DFF的结构图,用verilog实现之.(威盛) 47、画出一种CMOS的D锁存器的电路图和版图.(未知) 48、D触发器和D锁存器的区别.(新太硬件面试) 49、简述latch和filp-flop的异同.(未知) 50、LATCH和DFF的概念和区别.(未知) 51、latch与register的区别,为什么现在多用register.行为级描述中latch如何产生的. (南山之桥) 52、用D触发器做个二分颦的电路.又问什么是状态图.(华为) 53、请画出用D触发器实现2倍分频的逻辑电路?(汉王笔试) 54、怎样用D触发器、与或非门组成二分频电路?(东信笔试) 55、How many flip-flop circuits are needed to divide by 16? (Intel) 16分频? 56、用filp-flop和logic-gate设计一个1位加法器,输入carryin和current-stage,输出 carryout和next-stage. (未知) 57、用D触发器做个4进制的计数.(华为) 58、实现N位Johnson Counter,N=5.(南山之桥) 59、用你熟悉的设计方式设计一个可预置初值的7进制循环计数器,15进制的呢?(仕兰 微电子) 60、数字电路设计当然必问Verilog/VHDL,如设计计数器.(未知) 61、BLOCKING NONBLOCKING 赋值的区别.(南山之桥) 62、写异步D触发器的verilog module.(扬智电子笔试) module dff8(clk , reset, d, q); input clk; input reset; input [7:0] d; output [7:0] q; reg [7:0] q; always @ (posedge clk or posedge reset) if(reset) q <= 0; else q <= d; endmodule 63、用D触发器实现2倍分频的Verilog描述? (汉王笔试) module divide2( clk , clk_o, reset); input clk , reset; output clk_o; wire in; reg out ; always @ ( posedge clk or posedge reset) if ( reset) out <= 0; else out <= in; assign in = ~out; assign clk_o = out; endmodule 、可编程逻辑器件在现代电子设计中越来越重要,请问:a) 你所知道的可编程逻辑器 件有哪些? b) 试用VHDL或VERILOG、ABLE描述8位D触发器逻辑.(汉王笔试) PAL,PLD,CPLD,FPGA. module dff8(clk , reset, d, q); input clk; input reset; input d; output q; reg q; always @ (posedge clk or posedge reset) if(reset) q <= 0; else q <= d; endmodule 65、请用HDL描述四位的全加法器、5分频电路.(仕兰微电子) 66、用VERILOG或VHDL写一段代码,实现10进制计数器.(未知) 67、用VERILOG或VHDL写一段代码,实现消除一个glitch.(未知) 68、一个状态机的题目用verilog实现(不过这个状态机画的实在比较差,很容易误解 的).(威盛VIA 上海笔试试题) 69、描述一个交通信号灯的设计.(仕兰微电子) 70、画状态机,接受1,2,5分钱的卖报机,每份报纸5分钱.(扬智电子笔试) 71、设计一个自动售货机系统,卖soda水的,只能投进三种硬币,要正确的找回钱 数. (1)画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计 的要求.(未知) 72、设计一个自动饮料售卖机,饮料10分钱,硬币有5分和10分两种,并考虑找零:(1) 画出fsm(有限状态机);(2)用verilog编程,语法要符合fpga设计的要求;(3)设计 工程中可使用的工具及设计大致过程.(未知) 73、画出可以检测10010串的状态图,并verilog实现之.(威盛) 74、用FSM实现101101的序列检测模块.(南山之桥) a为输入端,b为输出端,如果a连续输入为1101则b输出为1,否则为0. 例如a: 0000110 b: 00000000000000 请画出state machine;请用RTL描述其state machine.(未知) 75、用verilog/vddl检测stream中的特定字符串(分状态用状态机写).(飞利浦-大唐 笔试) 76、用verilog/vhdl写一个fifo控制器(包括空,满,半满信号).(飞利浦-大唐笔试) 77、现有一用户需要一种集成电路产品,要求该产品能够实现如下功能:y=lnx,其中,x 为4位二进制整数输入信号.y为二进制小数输出,要求保留两位小数.电源电压为3~5v假 设公司接到该项目后,交由你来负责该产品的设计,试讨论该产品的设计全程.(仕兰微 电子) 78、sram,falsh memory,及dram的区别?(新太硬件面试) 79、给出单管DRAM的原理图(西电版《数字电子技术基础》作者杨颂华、冯毛官205页图9 -14b),问你有什么办法提高refresh time,总共有5个问题,记不起来了.(降低温 度,增大电容存储容量)(Infineon笔试) 80、Please draw schematic of a common SRAM cell with 6 transistors,point out which nodes can store data and which node is word line control? (威盛笔试题 circuit design-beijing- 81、名词:sram,ssram,sdram 名词IRQ,BIOS,USB,VHDL,SDR IRQ: Interrupt ReQuest BIOS: Basic Input Output System USB: Universal Serial Bus VHDL: VHIC Hardware Description Language SDR: Single Data Rate 压控振荡器的英文缩写(VCO). 动态随机存储器的英文缩写(DRAM). 名词解释,无聊的外文缩写罢了,比如PCI、ECC、DDR、interrupt、pipeline、 IRQ,BIOS,USB,VHDL,VLSI VCO(压控振荡器) RAM (动态随机存储器),FIR IIR DFT(离散 傅立叶变换)或者是中文的,比如:a.量化误差 b.直方图 c.白平衡 1 什么是Setup 和Holdup时间? 2 什么是竞争与冒险现象?怎样判断?如何消除? 3 用D触发器实现2倍分频的逻辑电路? ....... 4 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求? 5 什么是同步逻辑和异步逻辑? 6 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、所存器/缓冲器)。 7 你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗? 8 可编程逻辑器件在现代电子设计中越来越重要,请问:你所知道的可编程逻辑器件有哪些? 9 试用VHDL或VERILOG、ABLE描述8位D触发器逻辑。 10 设想你将设计完成一个电子电路方案。请简述用EDA软件(如PROTEL)进行设计(包 括原理图和PCB图)到调试出样机的整个过程。在各环节应注意哪些问题? 11 用逻辑门和cmos电路实现ab+cd 12 用一个二选一mux和一个inv实现异或 13 给了reg的setup,hold时间,求中间组合逻辑的delay范围。 14 如何解决亚稳态 15 用verilog/vhdl写一个fifo控制器 16 用verilog/vddl检测stream中的特定字符串 17 用mos管搭出一个二输入与非门。 18 集成电路前段设计流程,写出相关的工具。 19 名词IRQ,BIOS,USB,VHDL,SDR 20 unix 命令cp -r, rm,uname 21 用波形表示D触发器的功能 22 写异步D触发器的verilog module 23 What is PC Chipset? 24 用传输门和反向器搭一个边沿触发器 25 画状态机,接受1,2,5分钱的卖报机,每份报纸5分钱 ================================================= 答案 1 什么是Setup 和Holdup时间? 建立时间(Setup Time)和保持时间(Hold time)。建立时间是指在时钟边沿前,数据信号需要保持不变的时间。保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。见图1。 如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现metastability的情况。 如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。 图1 建立时间和保持时间示意图 2什么是竞争与冒险现象?怎样判断?如何消除? 在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。 产生毛刺叫冒险。 如果布尔式中有相反的信号则可能产生竞争和冒险现象。 解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 3 用D触发器实现2倍分频的逻辑电路? Verilog描述: module divide2( clk , clk_o, reset); input clk , reset; output clk_o; wire in; reg out ; always @ ( posedge clk or posedge reset) if ( reset) out <= 0; else out <= in; assign in = ~out; assign clk_o = out; endmodule 图形描述: 4 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求? 线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现,由于不用oc门可能使灌电流过大,而烧坏逻辑门。 同时在输出端口应加一个上拉电阻。 5 什么是同步逻辑和异步逻辑? 同步逻辑是时钟之间有固定的因果关系。 异步逻辑是各时钟之间没有固定的因果关系。 6 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、所存器/缓冲器)。 7 你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗? 12,5,3.3 TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。CMOS输出接到TTL是可以直接互连。TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V。 8 可编程逻辑器件在现代电子设计中越来越重要,请问:你所知道的可编程逻辑器件有哪些? PAL,PLD,CPLD,FPGA。 9 试用VHDL或VERILOG、ABLE描述8位D触发器逻辑。 module dff8(clk , reset, d, q); input clk; input reset; input [7:0] d; output [7:0] q; reg [7:0] q; always @ (posedge clk or posedge reset) if(reset) q <= 0; else q <= d; endmodule 10 设想你将设计完成一个电子电路方案。请简述用EDA软件(如PROTEL)进行设计(包 括原理图和PCB图)到调试出样机的整个过程。在各环节应注意哪些问题? 电源的稳定上,电容的选取上,以及布局的大小。 11 用逻辑门和cmos电路实现ab+cd 12 用一个二选一mux和一个inv实现异或 13 给了reg的setup,hold时间,求中间组合逻辑的delay范围。 Delay < period - setup - hold 14 如何解决亚稳态 亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态。当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上。在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去。 15 用verilog/vhdl写一个fifo控制器 包括空,满,半满信号。 16 用verilog/vddl检测stream中的特定字符串 分状态用状态机写。 17 用mos管搭出一个二输入与非门。 18 集成电路前段设计流程,写出相关的工具。 19 名词IRQ,BIOS,USB,VHDL,SDR IRQ: Interrupt ReQuest BIOS: Basic Input Output System USB: Universal Serial Bus VHDL: VHIC Hardware Description Language SDR: Single Data Rate 20 unix 命令cp -r, rm,uname 21 用波形表示D触发器的功能 22 写异步D触发器的verilog module module dff8(clk , reset, d, q); input clk; input reset; input d; output q; reg q; always @ (posedge clk or posedge reset) if(reset) q <= 0; else q <= d; endmodule 23 What is PC Chipset? 芯片组(Chipset)是主板的核心组成部分,按照在主板上的排列位置的不同,通常分为北桥芯片和南桥芯片。北桥芯片提供对CPU的类型和主频、内存的类型和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持。南桥芯片则提供对KBC(键盘控制器)、RTC(实时时钟控制器)、USB(通用串行总线)、Ultra DMA/33(66)EIDE数据传输方式和ACPI(高级能源管理)等的支持。其中北桥芯片起着主导性的作用,也称为主桥(Host Bridge)。 除了最通用的南北桥结构外,目前芯片组正向更高级的加速集线架构发展,Intel的8xx系列芯片组就是这类芯片组的代表,它将一些子系统如IDE接口、音效、MODEM和USB直接接入主芯片,能够提供比PCI总线宽一倍的带宽,达到了266MB/s。 24 用传输门和反向器搭一个边沿触发器 25 画状态机,接受1,2,5分钱的卖报机,每份报纸5分钱 FPGA与CPLD内部结构区别? CPLD 以altraMAX7000这种PLD为例,可分为三块结构:宏单元(Marocell),可编程连线(PIA)和I/O控制块。宏单元是PLD的基本结构,由它来实现基本的逻辑功能。可编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。 这种基于乘积项(实际就是与或阵列)的PLD基本都是由EEPROM和Flash工艺制造的,一上电就可以工作,无需其他芯片配合。布线方式是全局的,所以延时可预测。CPLD适合做逻辑设计。 FPGA FPGA基于LUT,LUT本质上就是一个RAM,每一个LUT可以看成一个有4位地址线的16x1的RAM。这也是为什么FPGA需要外接一个rom来上电配置。 以xilinx的Spartan-II为例,主要包括CLBs,I/O块,RAM块和可编程连线。在spartan-II中,一个CLB包括2个Slices,每个slices包括两个LUT,两个触发器和相关逻辑。 Slices可以看成是SpartanII实现逻辑的最基本结构。 FPGA的制造工艺确定了FPGA芯片中包含的LUT和触发器的数量非常多,往往都是几千上万,PLD一般只能做到512个逻辑单元,而且如果用芯片价格除以逻辑单元数量,FPGA的平均逻辑单元成本大大低于PLD。 所以如果设计中使用到大量触发器,例如设计一个复杂的时序逻辑,那么使用FPGA就是一个很好选择。 2.Latch和Register区别?行为描述中Latch如何产生? 本质的区别在于:latch是电平触发,reg是边沿触发。时序设计中尽量使用reg触发。 行为描述中,如果对应所有可能输入条件,有的输入没有对应明确的输出,系统会综合出latch。 比如:always@( a or b) //缺少else语句 begin if(a==1) q <= b; end 3.对竞争冒险的理解,以及如何消除? 在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。产生毛刺叫冒险。如果布尔式中有相反的信号则可能产生竞争和冒险现象。解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。 4.用Verilog设计一个5分频器。 5分频,奇数分频都可以类似这么做,只需要改div1和div2的参数。div1为奇数分频除2的余数。采用上升延和下降延分别触发不同波形,最后叠加的方式产生奇数分频。 module divfreq(clk, clk1x, rst, clk1xpose, clk1xnege, coutpose, coutnege); input clk; input rst; output clk1x; output clk1xpose; output clk1xnege; output[2:0] coutpose; output[2:0] coutnege; reg clk1xpose; reg clk1xnege; reg[2:0] coutpose; reg[2:0] coutnege; parameter div1 = 2 , div2 = 4; // div1 = 5 / 2, div2 = 5 - 1 assign clk1x = clk1xpose | clk1xnege; always@(posedge clk or negedge rst) begin if(!rst) clk1xpose = 0; else if(coutpose == div1) clk1xpose = ~clk1xpose; else if(coutpose == div2) clk1xpose = ~clk1xpose; else clk1xpose = clk1xpose; end always@(negedge clk or negedge rst) begin if(!rst) clk1xnege = 0; else if(coutnege == div1) clk1xnege = ~clk1xnege; else if(coutnege == div2) clk1xnege = ~clk1xnege; else clk1xnege = clk1xnege; end always@(posedge clk or negedge rst) begin if(!rst) coutpose = 0; else if(coutpose == div2) coutpose = 0; else coutpose = coutpose + 1; end always@(negedge clk or negedge rst) begin if(!rst) coutnege = 0; else if(coutnege == div2) coutnege = 0; else coutnege = coutnege + 1; end endmodule
