TDO:测试数据输出,串行输出端,时钟下降沿,数据被驱动输出。 TRST:测试复位输入(仅用于扩展JTAG),异步、低电平有效,用于JTAG初始化时。
1.12 FPGA芯片内有哪两种存储器资源?
FPGA芯片内有两种存储器资源:一种叫block ram,另一种是由LUT配置成的内部存储器(也就是分布式ram,distribute ram)。Block ram由一定数量固定大小的存储块构成的,使用BLOCK RAM资源不占用额外的逻辑资源,并且速度快。但是使用的时候消耗的BLOCK RAM资源是其块大小的整数倍。
1.13 FPGA中可以综合实现为RAM/ROM/CAM的三种资源及其注意事项?
三种资源:block ram、触发器(FF)、查找表(LUT); 注意事项: 1、在生成RAM等存储单元时,应该首选block ram 资源;原因有二:使用block ram等资源,可以节约更多的FF和4-LUT等底层可编程单元,最大程度发挥器件效能,节约成本; block ram是一种可以配置的硬件结构,其可靠性和速度与用LUT和register构建的存储器更有优势。
2、弄清FPGA的硬件结构,合理使用block ram资源;
3、分析block ram容量,高效使用block ram资源和分布式ram资源(distribute ram)。
1.14 FPGA设计中对时钟的使用?(例如分频等)
FPGA芯片有固定的时钟路由,这些路由能有减少时钟抖动和偏差。需要对时钟进行相位移动或变频的时候,一般不允许对时钟进行逻辑操作,这样不仅会增加时钟的偏差和抖动,还会使时钟带上毛刺。一般的处理方法是采用FPGA芯片自带的时钟管理器如PLL,DLL或DCM,或者把逻辑转换到触发器的D输入。
1.15 Xilinx中与全局时钟资源和DLL相关的硬件原语
常用的与全局时钟资源相关的Xilinx器件原语包括:BUFG, IBUFGDS, BUFG, BUFGP, BUFGCE, BUFGMUX, BUFGDLL, DCM等。 1.16 HDL语言的层次概念?
HDL语言是分层次的、类型的,最常用的层次概念有系统与标准级、功能模块级,行为级,寄存器传输级和门级。
1.17 查找表的原理与结构?
查找表(look-up-table)简称为LUT,本质上是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有 4位地址线的16x1的RAM。 当用户通过原理图或HDL语言描述了一个逻辑电路以后,PLD/FPGA开发软件会自动计算逻辑电路的所有可能的结果,并把结果事先写入RAM,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出。
1.18 IC设计前端到后端的流程和EDA工具?
设计前端也称逻辑设计,后端设计也称物理设计,两者并没有严格的界限,一般涉及到与工艺有关的设计就是后端设计。 1:规格制定:客户向芯片设计公司提出设计要求。
2:详细设计:芯片设计公司(Fabless)根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。目前架构的验证一般基于 system C,仿真可以使用system C的仿真工具,CoCentric和Visual Elite等。
3:HDL编码:设计输入工具:ultra ,visual VHDL等 4:仿真验证:modelsim 5:逻辑综合:synplify
6:静态时序分析:synopsys的Prime Time 7:形式验证:Synopsys的Formality.
1.19 什么是“线与”逻辑,要实现它,在硬件特性上有什么具体要求? 线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用OC门(集电极开路与非门)来实现,由于不用OC门可能使灌电流过大,而烧坏逻辑门,因此在输出端口应加一个上拉电阻。
1.20 IC设计中同步复位与异步复位的区别? 同步复位在时钟沿采复位信号,完成复位动作。
异步复位不管时钟,只要复位信号满足条件,就完成复位动作。异步
复位对复位信号要求比较高,不能有毛刺,如果其与时钟关系不确定,也可能出现亚稳态。
1.21 MOORE 与 MEELEY状态机的特征?
Moore 状态机的输出仅与当前状态值有关, 且只在时钟边沿到来时才会有状态变化。 Mealy 状态机的输出不仅与当前状态值有关, 而且与当前输入值有关。
1.22 Latch和Register区别?行为描述中Latch如何产生? 本质的区别在于:latch是电平触发,register是边沿触发。 register在同一时钟边沿触发下动作,符合同步电路的设计思想,而latch则属于异步电路设计,往往会导致时序分析困难,不适当的应用latch则会大量浪费芯片资源。时序设计中尽量使用register触发。 行为描述中,如果对应所有可能输入条件,有的输入没有对应明确的输出,系统会综合出latch。
比如://缺少else语句 always@( a or b) begin
if(a==1) q <= b; end