by yang
最近准备数字IC岗时复习整理的知识点,参考了比较火的fpga面试题,和一些相关知识。主要是写着自己看着方便的,有很多不严谨的地方,有些地方有参考链接,那些博客写的都很好。
Part.6
常见其他问题
1:verilog运算符
2:function和task区别
3:什么是”线与”逻辑,要实现它,在硬件特性上有什么具体要求?
4:有四种复用方式,频分多路复用,写出另外三种?
5:阻塞式赋值和非组塞式赋值的区别?
6:16分频电路中需要多少触发器?
7:用D触发器做个二分频的电路?画出逻辑电路?D触发器长什么样?
8:Xilinx中与全局时钟资源和DLL相关的硬件原语:
9:DDR与缓存管理 memory
10:sram,falsh memory,及dram的区别?
11:DDR上电时序,功耗,信号完整性,读写时序。。。
常见其他问题
1:verilog运算符
~ 取反 NOT
& | 与或
^ 异或 XOR
^~ 同或
要会做计算题
2:function和task区别
- func只能与主模块共用一个方阵时间单位,但task可以自己定义自己仿真时间单位
- func不能启动task,但task可以启动其他task和func
- func至少有一个输入变量,task可以没有或多个任何类型的变量
- func返回一个值,task不返回值
3:什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?
线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现,由于不用 oc门可能使灌电流过大,而烧坏逻辑门. 同时在输出端口应加一个上拉电阻。Oc门就是集电极开路门。
4:有四种复用方式,频分多路复用,写出另外三种?
四种复用方式:频分多路复用(FDMA),时分多路复用(TDMA),码分多路复用(CDMA),波分多路复用(WDM)
5:阻塞式赋值和非组塞式赋值的区别?
非阻塞赋值:块内的赋值语句同时赋值,一般用在时序电路描述中。
阻塞赋值:完成该赋值语句后才能做下一句的操作,一般用在组合逻辑描述中。
赋值问题:阻塞和非阻塞,赋值都是在clk沿到达时就实现的,clk一到,并列几个非阻塞同时被赋值。
非阻塞是指因为同时赋值,所以这次的赋值结果只有在下一个clk到来时才能被引用。但是上一个clk已经赋值成功。
6:16分频电路中需要多少触发器?
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
7:用D触发器做个二分频的电路?画出逻辑电路?D触发器长什么样?
显示工程设计中一般不采用这样的方式来设计,二分频一般通过DCM来实现。通过DCM得到的分频信号没有相位差。
parameter [4:0] // synopsys enum code
IDLE = 5'd0,
S1 = 5'd1,
S2 = 5'd2,
S3 = 5'd3,
ERROR = 5'd4;
8:Xilinx中与全局时钟资源和DLL相关的硬件原语:
常用的与全局时钟资源相关的Xilinx器件原语包括:IBUFG,IBUFGDS,BUFG,BUFGP,BUFGCE,BUFGMUX,BUFGDLL,DCM等。关于各个器件原语的解释可以参考《FPGA设计指导准则》p50部分。
9:DDR与缓存管理 memory
10:sram,falsh memory,及dram的区别?
- sram:静态随机存储器,存取速度快,但容量小,掉电后数据会丢失,不像DRAM 需要不停的REFRESH,制造成本较高,通常用来作为快取(CACHE) 记忆体使用
- flash:闪存,存取速度慢,容量大,掉电后数据不会丢失
- dram:动态随机存储器,必须不断的重新的加强(REFRESHED) 电位差量,否则电位差将降低至无法有足够的能量表现每一个记忆单位处于何种状态。价格比sram便宜,但访问速度较慢,耗电量较大,常用作计算机的内存使用。
11:DDR上电时序,功耗,信号完整性,读写时序。。。
用MIG IP核生成。
改ucf,根据bank电压,引脚约束。
调节内部上拉电阻、输出阻抗来改善DDR信号完整性。
为什么我们不用ddr,缓存够了。高速产生信号完整性问题。
后面一些还没有补充完整……但我的秋招季已经结束了,就不继续写了。