燧原科技2022年秋招硬件笔试

发布时间:2023-07-31 17:00

前言

  • 声明:个人觉得,学习期间,基本上都是知识的搬运,所以本博客所有内容都可以被大家引用!为了大家方便引用,博客内的图片都没有加博客的水印(除非不是自己的或者没看到)!
  • 如果大家觉得自己基础知识薄弱,可以去 《牛客刷题》 和 《HDLbits》进行巩固练习;如果有不懂的题目还可以参考文章《牛客刷verilog》Part I Verilog快速入门 和 verilog练习:hdlbits网站系列完结!进行学习!

单选

1. 7nm工艺中的7nm指的是()

  • 芯片中最小晶体管的源极宽度.
  • 芯片中最小单元的沟道长度
  • 芯片中最小晶体管的源极长度
  • 芯片中最小单元的源极宽度

7nm 制程工艺到底指什么?

需要好好补一下这块的内容,上面链接中也没有明确指出?
燧原科技2022年秋招硬件笔试_第1张图片

2.

燧原科技2022年秋招硬件笔试_第2张图片

3. 下面哪项检查不属于版图物理验证:

  • LVS
  • STA
  • DRC
  • ESD

解析:

  • 版图的物理验证

版图的物理验证主要有 DRC, ERC( 电气规则检查 ) 和 LVS 三种方法。 DRC表示设计规则检查, 是 Design Rule Checking 的缩写, LVS 是 Layout Versus Schematic 的缩写, ERC 是 Electrical Rule Checking。DRC 用来检查版图的几何图形符合工艺规则要求, 以便芯片能在工艺线上生产出来; LVS 把设计得到的版图和逻辑网表进行比较, 检查各器件大小和连接关系是否完全一致; ERC 主要是检查版图电性能(如衬底是否正确接电源或地, 又无栅极悬空等) 以保证各器件能正常工作。

4. 判断下面2段代码是否正确

  • 第1段:
    燧原科技2022年秋招硬件笔试_第3张图片

  • 第2段:
    燧原科技2022年秋招硬件笔试_第4张图片

解析: 题目比较迷,把逻辑补充完整如下:

class base;
    // string name;
    //... 
endclass

class sub extends base;
    // string name;
    //···
endclass

//second
program second;
    base bc;
    sub sc1;
    sub sc2 = new();
    initial begin
        bc = sc2;
        $cast(sc1,bc);
    end
endprogram


//first
program first;
    base bc = new();
    sub sc;
    initial begin
        sc = bc;
    end
endprogram

编译结果如下:
燧原科技2022年秋招硬件笔试_第5张图片

  • 个人理解是,此处是将父类指针指向子类对象,是不可取的。
  • 但如果你使用类似c++的强制类型转换,也会报错,注意思考second和first的区别

燧原科技2022年秋招硬件笔试_第6张图片

5. 指令系统中程序控制类指令的功能是

  • 实现程序执行顺序的改变
  • 实现算数和逻辑运算
  • 实现主存于cPU之间的数据传送
  • 实现堆栈操作

解析

指令系统中程序控制类指令的功能是

6. 静态时序分析中下列哪项因素不会影响cell的delay?

  • output load
  • ocv derate
  • input transition
  • clock uncertaint

解析:

静态时序分析中下列哪项因素不会影响cell的delay?

7. Choose the correct equation for power calculation()

  • Ptotal=Pleakage+Pinternal+Pswitching.
  • Ptotal=Pinternal+Pdynamic.
  • Ptotal=Pstatic+Pdynamic.
  • Ptotal=Pleakage+Pswitching.

解析:

功耗=静态功耗 + 动态功耗

8. 哪种函数可以创建用来做进程间通信的共享内存:

void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset);
void *dlopen(const char *filename, int flags);
int shm_open(const char *name, int oflag, mode_t mode);
FILE *fopen(const char *pathname, const char *mode);

解析

  • 可以参考Linux系统编程
  • 也可以使用man手册查询
  • 要是记得没错就是shm_族函数

9. Below CMOS is presenting

燧原科技2022年秋招硬件笔试_第7张图片

  • OR gate
  • NAND gate
  • AND gate
  • NOR gate

10.处理器性能优化的终极目标是什么?( )

推高处理器外部数据搬运性能达到IO带宽峰值
推高处理器内部计算核心主频,提升峰值算力
推高处理器内部数据搬运性能达到IO带宽峰值
解绑处理器内部计算核心数据存取需求,推高平均算力

多选

1.

燧原科技2022年秋招硬件笔试_第8张图片

2.

燧原科技2022年秋招硬件笔试_第9张图片

3.

燧原科技2022年秋招硬件笔试_第10张图片

4.

燧原科技2022年秋招硬件笔试_第11张图片

5. Please select correct statements for below 2 types of design (multiple answer)

燧原科技2022年秋招硬件笔试_第12张图片
design in left has less area than design in right
design in left has bigger dynamic power than design in right
design in left has less static power than design in right
design in left has bigger static power than design in right
design in left has bigger area than design in right
design in left has less dynamic power than design in right

6. Coverage is usually used to evaluate the verification qualty, please identify all code coverage related items from following options.()

Function coverage.
state coverage.
Toggle coverage .
condition coverage.
Branch coverage.
FSM coverage.
Expression coverage.

解析:

  • 覆盖率一般有:代码覆盖率、功能覆盖率、漏洞率、断言覆盖率
  • 题目问的是代码覆盖率,可以明显的排除掉功能(function)覆盖率??????
  • 代码覆盖率工具通常使用一个或多个标准来确定你的代码在被自动化测试后是否得到了执行,常见的覆盖率报告中看到的指标包括:
    函数覆盖率:定义的函数中有多少被调用
    语句覆盖率:程序中的语句有多少被执行
    分支覆盖率:有多少控制结构的分支(例如if语句)被执行
    条件覆盖率:有多少布尔子表达式被测试为真值和假值
    行覆盖率:有多少行的源代码被测试过

7. 未来Al处理器的演进有可能走如下哪些方向?()

异构计算
同等算力,更低的功耗
更高主频的计算核心
更大的片间互联吞吐量,更小的片间通信延迟

解析

CPU未来会朝什么方向发展?
提升单线程性能;
加入新指令;
增加核心数量;
集成专用单元。

  • 都成年人了,出这种选择题有什么意义。言之有理不可以吗?如果用上了量子计算机,主频是不是就能提高了?

填空

在system verilog中,存在fork-join,fork-join_any和fork-join_none三种并行语句块的执行方式。

燧原科技2022年秋招硬件笔试_第13张图片

解析:

fork-join挺好用的了,fork-join_any、fork-join_none有什么用?

在Verilog中我们对线程(即独立运行的程序,分为父线程和子线程)的使用有:

1、begin–end块 (顺序执行)

2、fork----join块 (并行执行)

而在SV中又增加了两种新的创建线程的方法:

1、fork join_any:只要有一个子线程优先完成就跳出fork join_any块,执行父线程。

2、fork join_none:直接跳出fork join_none块,执行父线程。

介于大家都对此有一定了解程度,那我就直接说重点:

1、fork join_any和fork join_none影响的都是父线程的执行

2、delay的优先级最高,所有顺序都是按照时序执行。只有当delay相同时才会显现出fork join_any和fork join_none的区别,才会遵守上文所说规则

后记

  • 欢迎转载做题!
  • 推荐大家去 《牛客刷题》 刷题学习,保持对verilog的熟练度!
    在这里插入图片描述

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号