← 2022 · 华为海思 笔试

推荐答案 测试一下

①: always @(posedge clk or negedge rst_n)begin

A.②属于无复位寄存器,其PPA更优 B.③属于同步复位逻辑,rst_n可能通过组合逻辑连接到寄存器D端。 C.①属于异步复位逻辑 D.同步复位和异步复位都是在复位时将寄存器状态初始化,所以没有区别
单选题 中等 笔试真题单选

参考答案

我们逐项分析: ①: always @(posedge clk or negedge rst_n) begin if (!rst_n) din_dly <= 'h0; else din_dly <= din; end 这是典型的异步复位(低电平有效)逻辑。敏感列表包含posedge clk和negedge rst_n,当rst_n下降沿时不管时钟如何都会复位。属于异步复位。 ②: always @(posedge clk) begin din_dly <= din; end 没有复位信号,属于无复位寄存器。无复位寄存器综合时没有复位端,省去了复位网络,面积和功耗更优(PPA better),但要注意上电后初始值不确定。A说法正确。 ③: always @(posedge clk) begin if (!rst_n) din_dly <= 'h0; else din_dly <= din; end 敏感列表只有posedge clk,rst_n出现在if条件中,属于同步复位。复位信号rst_n需要同步到时钟域,通常rst_n会经过组合逻辑连接到寄存器的D端(因为if条件会综合为选择器或门控逻辑)。B说法正确。 C说“①属于异步复位逻辑”,正确。 D说“同步复位和异步复位没有区别”,错误。 题目要求选出“说法正确的是”,注意是多选还是单选?题型是单选题,需要看题目表述,通常单选题只有一个正确选项。但这里A、B、C看起来都正确?需要仔细审视。 A: "②属于无复位寄存器,其PPA更优" —— 正确。无复位寄存器确实面积和功耗更优。 B: "③属于同步复位逻辑,rst_n可能通过组合逻辑连接到寄存器D端。" —— 正确。 C: "①属于异步复位逻辑" —— 正确。 D: "同步复位和异步复位都是在复位时将寄存器状态初始化,所以没有区别" —— 错误。 那么三个正确选项?但单选题一般只有一个正确。可能题目有误?或者要求选择“说法正确的是”可能只有一个?我们再读题:上面三段代码,说法正确的是:A、B、C、D。很可能有些选项有细微错误。 检查B: "rst_n可能通过组合逻辑连接到寄存器D端。" 对于同步复位,rst_n确实会连接到寄存器的D端吗?同步复位的实现通常是:if(!rst_n) 则D端输入0,else D端输入din。这需要组合逻辑(多路选择器)将rst_n选择,rst_n本身可能作为选择信号,但连接的是D端?实际上,同步复位时,rst_n信号经过组合逻辑后生成新的D输入,所以可以说rst_n通过组合逻辑连接到寄存器D端。表述正确。 但注意:有些同步复位会使用寄存器本身的同步复位端(如果库中有),但一般Verilog描述会综合成组合逻辑。所以B正确。 C正确。 A正确。 难道是题目意图是单选,但有三正确?可能我误解了:也许②中的代码没有敏感列表?题目中②是完整的一段,没有复位,确实是无复位寄存器,PPA更优正确。但无复位寄存器也有缺点,上电不定态,但选项说“其PPA更优”没错。 再仔细看题目:题型单选题,但内容似乎有多个正确。或许题目要求选“说法正确的是”,但选项可能有多个正确,但单选题只能选一个。常见的陷阱是:A、B、C都正确,但D错误,那么应该选哪个?也许题目要求选出唯一错误的?但题干是“说法正确的是”,不是“错误的是”。 另一种可能:B选项说“rst_n可能通过组合逻辑连接到寄存器D端”,在同步复位中,这是可能的,但实际实现也可能是直接连接到同步复位端(如果RTL综合库有)。但“可能”一词使得正确。但也许考点强调同步复位通常需要组合逻辑,而异步复位有专用复位端。B没问题。 既然三对一错,单选题只能选一个,可能题目印刷错误?或者是在某个语境下只有一个是正确的?再检查C: "①属于异步复位逻辑" —— 正确,无需多说。 或许有些细节:①的写法是标准异步复位,但敏感列表包含negedge rst_n,注意是negedge,rst_n是低有效,正确。 也许选项A中的“PPA更优”是指Power, Performance, Area,无复位寄存器确实面积小、功耗低,但性能?可能复位信号对性能无影响,但省去了复位布线,可能性能更优?一般PPA中面积和功耗优,性能可能相同或略优。所以A正确。 那为什么单选题?也许答案是A、B、C都正确,但题目设计成单选可能要求选一个,或是在某些教材中认为同步复位和异步复位区别很大。但我仍然觉得三个正确。 考虑到常见笔试中,这种题往往是选“不正确”或“最准确”,但这里明确说“说法正确的是”。有可能题目有意让考生找出所有正确,但因为是单选,只有一个选项完全正确。比如B选项:同步复位逻辑,但注意③的写法中,if(!rst_n) 是在always块内,但敏感列表只有clk,综合工具会推断为同步复位。B描述正确。但C也正确。A也正确。 或许有陷阱:②的代码,always @(posedge clk) din_dly<=din; 这是没有复位的寄存器,但PPA更优是相对于有复位的吗?不一定,无复位寄存器在某些工艺下可能面积更小,但需要结合设计。且“PPA更优”是主观说法,但通常认为无复位寄存器省去了复位引脚和布线,确实更优。所以A正确。 再读原题:"题型:单选题" 可能排版有误,或许是多选题。但指令说“输出JSON”,且以往经验中这类题通常有唯一正确选项。我们仔细分析每个选项的表述: A.②属于无复位寄存器,其PPA更优 —— “其PPA更优”的表述是否绝对?无复位寄存器节省了复位网络,但可能带来亚稳态问题或测试困难,所以不一定整体PPA更优。但单从电路看,面积和功耗确实更优,性能可能无差异。所以通常认为无复位寄存器PPA更优,这句话可以接受。 B.③属于同步复位逻辑,rst_n可能通过组合逻辑连接到寄存器D端。 —— 对于同步复位,如果寄存器本身没有同步复位端,只能用组合逻辑实现复位,所以通常是通过组合逻辑连接到D端。但现代库中有些寄存器有同步复位端,综合工具

涉及知识点

  • 复位
  • 时钟
  • 综合
  • 功耗
  • 组合逻辑
← 上一题
登录后反馈错题
下一题 →