打造IC人才
科技生态圈

数字ic设计面试题|一题解决同步FIFO设计难题

发布时间:2022-12-09

来源:IC修真院

今天为大家解析联发科技数字IC设计岗的笔试题。

16、【简答题】请用Verilog写出以下逻辑

Interface signals如下:

input clk_ck;

input rst_b(async reset);

input req_in;

output req_in_ack;

input [31:0] data_in;

output data_out_vld;

output [31:0] data_out;

模块功能需求如下:

1)模块名为:filter_data_store

2)当req_in和req_in_ack都为高时,说明本模块有能力接收data_in的数据;

3)在data_in的数据中找到特殊字符32’hA1B9_0000,特殊字符前的数据全部丢弃,特殊字符后的资料全部收下来;

4)当sync_fifo为非空的时候,将数据读出放到data_out上,并用data_out_vld指示数据的有效性。(15分)

解析:本题目主要考察了利用同步fifo实现对输入序列的检测

本题是一道关于同步fifo应用的题目,遇到这种类型的题目首先要根据题目中的要求逐条分析,然后依次在草稿纸上画出大致的模块框图、波形图,再编写RTL代码。

首先根据Interface signals需求1携带的信息,绘制出的模块框图如下所示:


图片


然后根据需求2改进模块框图如下:


图片


然后绘制波形图如下所示:


图片


filter_data_store模块的HDL代码如下所示:

image

imageimageimage

imageimageimage

image

用QuestaSim仿真出的波形如下所示:

image

相关推荐:

数字IC设计职位经典笔/面试题(一)

可测性设计DFT

数字ic设计_ASIC芯片设计生产流程

推荐阅读

换一换