【数字设计】乐鑫科技_笔试面试题目分享

芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球
四社区联合力荐!近500篇数字IC精品文章收录
【数字IC精品文章收录】学习路线·基础知识·总线·脚本语言·芯片求职·EDA工具·低功耗设计Verilog·STA·设计·验证·FPGA·架构·AMBA·书籍

在这里插入图片描述
笔试

乐鑫科技笔试内容考试比较全面,对verilog语法的掌握,验证方法论,设计方法论,低功耗,跨时钟域等均有涉猎

其中包含如下知识点
1.Verilog中标识符非法的问题,不能以数字作为最开头

2.代码覆盖率包括:行覆盖率 ,路径覆盖率,翻转覆盖率,状态机覆盖率

3.fork join /any/none 的区别、disable的使用

fork join
fork-join 用于在并行块中创建并行线程。fork用于分支到新的线程,join用于合并并行线程。在fork-join中的代码段可以在不同的线程中并行执行。它用于在仿真过程中模拟多线程行为,特别是在测试和调试时。
fork join none
fork-join none是一种特殊的fork-join结构。在fork-join none中,与普通的fork-join不同,任何在fork块内部的线程都不会并行执行。fork-join none将所有的线程串行执行,类似于普通的顺序块。因此,在fork-join none中,并行性被完全禁用,所有的线程按照顺序执行。
fork join any
fork-join any是另一种特殊的fork-join结构。在fork-join any中,fork块内部的线程可以部分并行执行。线程将根据可用的硬件资源(例如处理器核心)并行执行。线程之间的并行性取决于仿真环境和硬件资源。与普通的fork-join相比,fork-join any在并行性方面更加灵活。

4.下列可以改善数字电路特性的/改善关键路径/STA的相关知识:
重定时(在不增加寄存器个数的前提下,改变寄存器的位置来优化关键路径),
case代替if else,
流水线,
操作符平衡,
关键输入后移
逻辑复制:某个信号的扇出fanout比较大时,会造成该信号到各个目的逻辑节点的路径变得过长,从而成为设计中的关键路径,此时可以通过对该信号进行复制来降低扇出。
电路资源共享(这个不满足),

5.timescale 1ns/10ps; 的理解
timescale time_unit / time_precision
#1.111 应该是1.11ns

跨时钟域的相关知识

6.Verilog是否允许阻塞和非阻塞赋值在always块内自由混合

Verilog允许在always块内自由混合阻塞和非阻塞赋值,但应该根据具体情况选择合适的赋值语句,以确保代码的正确性和可读性。一般来说,尽量保持always块内赋值语句的一致性,可以更好地维护和理解代码。

7.PVT是什么:process,voltage,temperature

8.满足芯片功能的情况下降低动态功耗最显著的方法是降低电压

9.TCM,L2cache,DDR-SDRAM,Nand-Flash被CPU读取的速度排序:

在现代计算机系统中,不同类型的存储器具有不同的读取速度。下面是TCM、L2缓存、DDR-SDRAM和NAND Flash从读取速度快到慢的排序:

  1. TCM(Tightly Coupled Memory):TCM是一种高速的嵌入式存储器,通常与CPU紧密耦合,位于CPU核心附近。由于其与CPU的紧密连接,TCM的读取速度非常快,通常与CPU的时钟频率相匹配,因此在所有存储器中速度最快。
  2. L2缓存(Level 2 Cache):L2缓存是CPU中的高速缓存,位于CPU核心和主内存(如DDR-SDRAM)之间。虽然比TCM慢,但仍然非常快速,能够提供快速的数据读取。L2缓存的读取速度通常比主内存(DDR-SDRAM)快得多。
  3. DDR-SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory):DDR-SDRAM是常见的主内存类型,用于存储计算机的程序和数据。它的读取速度较L2缓存慢,但比NAND Flash快得多。DDR-SDRAM通常能够提供较高的数据传输速率,使得计算机能够快速读取和写入大量数据。
  4. NAND Flash:NAND Flash是一种非易失性存储器,常用于存储大容量的数据,例如硬盘驱动器(SSD)、USB闪存驱动器等。尽管NAND Flash容量大且成本较低,但相对于TCM、L2缓存和DDR-SDRAM,其读取速度较慢。NAND Flash通常用于存储持久化数据,如操作系统、应用程序和用户数据,而不适用于要求高速读取的计算任务。
    综上所述,TCM具有最快的读取速度,其次是L2缓存、DDR-SDRAM,最后是NAND Flash。这些存储器的选择和使用根据计算机的需求和性能要求进行优化。

10.总线读取方式有8、16、32位,出现的概率为20%10%70%,访问该变量的方式为read_type,约束可设定为:(使用constraint进行约束)

11.已知Tsetup,Thold,Tperiod,求Tdelay满足的约束条件

12.端口调用的两种方式:位置关联,名称关联
ExampleA:位置关联

module ModuleB(input A, input B, output C);
  // 模块定义
endmodule

module ModuleA(input X, input Y, output Z);
  // 位置方式的实例化
  ModuleB ModuleB_inst(X, Y, Z);
endmodule

ExampleB:名称关联

module ModuleB(input A, input B, output C);
  // 模块定义
endmodule

module ModuleA(input X, input Y, output Z);
  // 命名方式的实例化
  ModuleB ModuleB_inst(.A(X), .B(Y), .C(Z));
endmodule

13.笔试代码题目:
100个人的聚会,事先填写到达和离开的时间0-23,掌握座位数目,估计最大的访客数,编写能打印出最大访客数的程序,不限语言

14.笔试代码题目
检测M个1111100000(1和0分别都出现N次)的序列检测器,verilog去实现,同时要画出它的转台转换图

一面

空满信号的产生:写时钟域判断满信号,读时钟域判断空信号

FIFO读数据的条件

FIFO深度的计算:

  1. 两级同步所产生的,需要深度多一点
  2. 读的时候第一拍不能读,需要还需要多一点

基于AMBA总线的控制器:
Master来的读写信号是怎么解析出来的
怎么去判断来了一个地址:

Master怎么保证两个同时访问,同时发起,如何保证当前的访问不会丢失,两个同时竞争
slave可以及时处理master请求,但也可能存在slave太慢不能立即处理的情况。这时需要让master稍微等一等,需要slave插入一些等待的状态。如下图所示,HREADY信号在第二和第三周期拉低,意在告诉master,slave不能立即处理

常用的异步设计方法
单bit,多bit
异步复位,同步释放
快时钟域的脉冲转到慢时钟域

手撕代码:小数分频3.1分频

实现小数分频的方法是:
先设计不同分频比的整数分频器,然后通过控制两种分频比出现的不同次数来获得所需的小数分频值,从而实现平均意义上的小数分频。
假设我们需要进行5.3分频,那么5.3可以写为53/10,因为:
53/10=5…3
商为5,余数为3
那么我们就可以通过5(商)分频和8(商+余数)来实现5.3分频。
现在我们来确定5分频和8分频的次数,设5分频的次数为a,8分频的次数为b;
那么应该有:
a+b=10(除数)
5a+8b = 53(被除数)
解得a=9,b=1,也就是说通过9次5分频和1次8分频可得到5.3分频。

二面
一面未通过,结束在一面上

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
乐鑫科技是一家专注于物联网芯片和解决方案的公司,它在C语言方面开展了一场笔试。C语言是一种广泛使用的、通用的高级编程语言,它为开发者提供了底层控制硬件的能力。 在乐鑫科技的C语言笔试中,可能会包含以下内容:基本语法、数据类型、运算符、控制结构、函数、数组、指针、结构体等。基本语法是最基础的部分,包括如何定义变量、如何使用注释、如何编写函数等。数据类型是C语言中的基本类型,包括整型、浮点型、字符型等,掌握不同数据类型的使用规则至关重要。运算符包括赋值运算符、算术运算符、关系运算符等,它们用于对数据进行操作和比较。控制结构包括条件语句(如if语句)和循环语句(如for循环),它们可以根据条件控制程序的执行流程。函数是C语言中的一个重要概念,它用于封装独立的功能模块,提高代码的可读性和重用性。数组是一组具有相同数据类型的元素的集合,指针则提供了直接访问内存地址的能力,结构体则用于组合多个不同类型的数据。 通过乐鑫科技的C语言笔试,考察者将能够了解到考生对C语言的掌握程度和编程能力。C语言是一门重要的编程语言,在物联网行业尤为重要,因此掌握C语言的基本知识和技能对于乐鑫科技的求职者来说是非常有帮助的。希望通过这场笔试,考生们能够展示出自己的才华和能力,为进一步的面试和招聘机会铺平道路。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张江打工人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值