乐鑫科技2022提前批-数字IC类6.29

1/10[单选|3分]
十六进制数0x12345678为big-endian格式,对应的little-endian格式是:
0x87654321
0x78563412
0x56781234
其他都不正确

2/10[单选|3分]
X,Y是两个无符号定点小数,X的位宽 6bit,最低4bits是小数部分,最高2bits是整数部分;Y的位宽8bit,最低4bits是小数部分,最高4bits 是整数部分;现在需要计算X乘以Y的结果Z,即Z=X*Y,为了保证Z的结果不溢出,Z的整数部分和小数部分至少需要多少个bit?
z的整数部分至少 6bits,小数部分至少 8bits
z的整数部分至少 7bits,小数部分至少 8bits
z的整数部分至少 7bits,小数部分至少 7bits
2的整数部分至少 6bits,小数部分至少 9bits

3/10[单选|3分]
写数据时钟频率fa=80MHz,读数据时钟频率fb=50MHz,在突发传输过程中,数据都是连续读写的,每次读写的突发传输长度为100.那么,在不考虑该FIFO内部读写指针跨时钟域同步延时的情况下,该FIFO的最小深度为
60
59
37
38

4/10[单选|3分]
下列verilog语句,哪个不能综合
在这里插入图片描述
5/10[单选|3分]
下列关于单元时序说法正确的是
Setup time 和 hold time 必须为正
Setup time 和 hold time 可同时为负
Setup time 可以为负, hold time 必须为正
Setup time 和 hold time 可有任意一个为负

6/10[单选|3分]
原始数据的编码效率为1/2,然后以16QAM的编码(4bit映射为一个16QAM符号)映射到一个OFDM symbol的48个子载波上,每个OFDM symbol的时长为4us,则用户层面有效的数据传输速率为
12Mbps
24Mbps
36Mbps
48Mbps

7/10[单选|3分]
C语言和RTL想比明显的不同是:
难以描述设计对象的逻辑关系
难以描述设计对象的时间关系
难以描述设计对象的运算关系
难以描述设计对象的层次关系

8/10[单选|3分]
N比特的格雷码Gray[N-1:0]转换成N比特的二进制码Bin[N-1:0],Bin[0]的逻辑表达式为:
Gray[1]^Gray[0]
Gray[N-1]^Gray[N-2]
^Gray[N-1:0]
^Gray[N-2:0]

9/10[单选|3分]
下列低功耗措施中可以降低峰值功耗的是
多采用高阈值电压的标准单元
Clock gating
Power gating
Memory Shutdown

10/10[单选|3分]
下列IO标准中,适用于高速信号传输的是
LVTTL/LVCOMS
LVTTL/SSTL
LVCOMS/HSTL
SSTL/HSTL

1/5 [填空 | 4分]
下面代码在执行结束后,a= , b= , c= , d= 。
program tb;
reg a = 0;
reg b = 0;
reg c = 0;
reg d = 0;
initial begin
a = 1;
b = a;
end
initial begin
c <= 1;
d <= c;
end
endprogram

2/5 [填空 | 4分]
UVM中可以应用factory override机制的三个条件包括分别是1 , 2 ,3 。

3/5 [填空 | 4分]
DCDC和LDO的区别

4/5 [填空 | 4分]
数字设计中考虑的“PPA”三要素分别指的是 。

5/5 [填空 | 4分]
Verilog 中 task 和 function的区别是:1 至少有一个输入变量;2至少有一个返回值;3可以包含时序控制;4可以定义自己的仿真时间单位

1/2[问答 | 25分]
题目描述
编写N倍时钟倍频器的仿真模型。输入是频率未知的参考时钟。输出时钟的上升沿与参考时钟的上升沿同步。
`timescale 1ns/10ps
module mul_clk #(
parameter N=4 //倍频系数
)(
input src_clk, //输入参考时钟
output out_clk//输出时钟
);

//TODO:在下面编写你的代码

endmodule

`timescale 1ns/1nsmodule Mul_clk_tb();
reg clk;
reg [3:0] clk_tmp;
wire clk1;
//CYCLE 和 NUM 需满足倍数关系
parameter NUM = 4;
parameter CYCLE = 20;initial beginclk = 1;forever begin#CYCLE clk = ~clk;end
endgenvar i;
generate
for(i=0;i<NUM;i=i+1)begin:delay_gen
always @(*) beginclk_tmp[i] = #((20/NUM)*i) clk;end
end
endgenerateassign clk1 = ^clk_tmp;endmodule

2/2[问答 | 25分]
按照row-by-row的方式,将模块输入(每个cycle输入1bit数据,一共32个bits)写入Memory中,保证每行每次写入Ncol bits数据,一共写Nrow次。Memory总大小为Ncol*Nrow bits。
其中Ncol=4,Nrow=8,w_idx=0,1,…,31为数据写入Memory后的位置序号,如下图:
在这里插入图片描述
图w_idx在Memory中的位置

每个w_idx对应一个读序号r_idx ,r_idx由如下公式定义:
r_idx = Ncol*(w_idx mod Nrow)+floor(w_idx/Nrow) (其中w_idx=0,1,…,31)

按r_idx从0~31的顺序,从Memory中读出数据输出。

请用Verig语言编写代码描述上述写Memory然后读Memory的行为,其中Memory可用寄存器数组来实现。接口信号如下:

input din,
input din_valid,
input rst_n,
input clk,
output dout,
output dout_valid

rtl:

module mem_rw(
input   din,
input   din_vld,
input   clk,
input   rst_n,
output  dout,
output  dout_vld
);parameter NCOL = 4;
parameter NROW = 8;reg flag_add;
reg [ 1:0]  cnt0     ;
wire        add_cnt0 ;
wire        end_cnt0 ;reg [2:0]   cnt1     ;
wire        add_cnt1 ;
wire        end_cnt1 ;reg [3:0]   mem [0:7];
reg [4:0]   ram [31:0];
reg [4:0] w_idx;
wire [4:0] r_idx;reg [ 1:0]  cnt2     ;
wire        add_cnt2 ;
wire        end_cnt2 ;reg [ 2:0]  cnt3     ;
wire        add_cnt3 ;
wire        end_cnt3 ;always @(posedge clk or negedge rst_n) begin if (rst_n==0) begincnt0 <= 0; endelse if(add_cnt0) beginif(end_cnt0)cnt0 <= 0; elsecnt0 <= cnt0+1 ;end
end
assign add_cnt0 = din_vld;
assign end_cnt0 = add_cnt0 && cnt0 == (NCOL)-1 ;always @(posedge clk or negedge rst_n) begin if (rst_n==0) begincnt1 <= 0; endelse if(add_cnt1) beginif(end_cnt1)cnt1 <= 0; elsecnt1 <= cnt1+1 ;end
end
assign add_cnt1 = end_cnt0;
assign end_cnt1 = add_cnt1 && cnt1 == (NROW)-1 ;genvar i;
generate 
for(i = 0; i < NROW; i = i + 1 )
begin:mem_initial
always  @(posedge clk or negedge rst_n)if(rst_n == 0)beginmem[i] <= 'h0;end else if(din_vld)beginmem[cnt1][cnt0] <= din;end  
end    
endgenerate  genvar j;
generate 
for(j = 0; j < 32; j = j + 1 )
begin:ram_initial
always  @(posedge clk or negedge rst_n)if(rst_n == 0)beginram[j] <= 'h0;end else if(din_vld || add_cnt3)beginram[w_idx] <= r_idx;end  
end    
endgenerate  //assign w_idx = (cnt1*4) + (cnt0);always  @(posedge clk or negedge rst_n)beginif(rst_n==1'b0)beginw_idx <= 0;endelse if(din_vld) beginw_idx <= (cnt1*4) + (cnt0);end
endassign r_idx = NCOL*(w_idx%NROW) + (w_idx/NROW);always @(posedge clk or negedge rst_n) begin if (rst_n==0) begincnt2 <= 0; endelse if(add_cnt2) beginif(end_cnt2)cnt2 <= 0; elsecnt2 <= cnt2+1 ;end
end
assign add_cnt2 = (flag_add);
assign end_cnt2 = add_cnt2  && cnt2 == (NCOL)-1 ;always @(posedge clk or negedge rst_n) begin if (rst_n==0) begincnt3 <= 0; endelse if(add_cnt3) beginif(end_cnt3)cnt3 <= 0; elsecnt3 <= cnt3+1 ;end
end
assign add_cnt3 = (end_cnt2);
assign end_cnt3 = add_cnt3  && cnt3 == (NROW)-1 ;always  @(posedge clk or negedge rst_n)beginif(rst_n==1'b0)beginflag_add <= 0;endelse if(end_cnt1)beginflag_add <= 1;endelse if(end_cnt3)beginflag_add <= 0;end
endwire[2:0] row;
wire[1:0] col;
wire [4:0] index;
wire [4:0] ram_data;assign index = (cnt3*4) + cnt2;
assign ram_data = ram[index];assign dout = (add_cnt2)? mem[row][col]:0;
assign dout_vld = add_cnt2;assign row = ram_data/4;
assign col = ram_data%4;endmodule

tb:

module mem_tb();
reg   din;
reg   din_vld;
reg   clk;
reg   rst_n;parameter CYCLE = 10;initial beginclk = 1;forever begin#CYCLE clk = ~clk;end
endinitial beginrst_n = 0;#(15*CYCLE)rst_n = 1;
endinitial begindin = 1;forever begin#(2*CYCLE)din = $random;end
endinitial begindin_vld = 0;#(20*CYCLE)repeat(32)begin#(4*CYCLE)din_vld = 1;#(2*CYCLE)din_vld = 0;end
endmem_rw mem_inst(.din    (din    ),.din_vld(din_vld),.clk    (clk    ),.rst_n  (rst_n  ));endmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33884.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乐鑫科技数字芯片2017

1. setup time、hold time 含义&#xff0c;并说明setup time和hold time会出现负值的原因 setup time是指在触发器的时钟信号触发之前&#xff0c;数据需要稳定不变的时间 hold time 是指在触发器的时钟信号触发之后&#xff0c;数据需要稳定不变的时间 在考虑时钟skew的…

乐鑫科技数字芯片2020

&#xff08;1&#xff09;序列发生器&#xff0c;产生周期性的"0010110111"序列 module xlgen (clk,rst,Q);input clk ; input rst ;output Q ; reg Q ; reg [9:0] Q_r ;always ( posedge clk or posedge rst) beginif (rst 1) beginQ < 1b0;Q_r < 10b00…

乐鑫科技数字IC提前批2021

整理乐鑫科技2021届招聘的数字IC提前批笔试题&#xff0c;并做了部分答案和解析&#xff0c;有问题的地方欢迎一起探讨。 一&#xff0e;单选题 1.关于跨时钟域电路的设计&#xff0c;以下说法正确的是: A: 信号经两级D触发器同步后即可进行跨时钟域传递 B: 跨时钟域电路存在亚…

乐鑫科技2020数字芯片

摘抄至数字芯片实验室 1、设计一个序列信号发生器电路&#xff0c;能在CLK信号作用下周期性输出“0010110111”的序列信号 2、设计一个自动饮料售卖机&#xff0c;共有两种饮料&#xff0c;其中饮料A每个10分钱&#xff0c;饮料B每个5分钱&#xff0c;硬币有5分和10分两种&a…

乐鑫科技,活跃在国际舞台上的中国芯

众多国内外开发者在社交平台讨论乐鑫产品 说到中国芯片&#xff0c;大家往往很容易先联想到“国产替代”的概念。不过&#xff0c;“国产替代”这四个字早已不足以概括国产芯片的快速发展。乐鑫科技 (688018.SH) 作为来自中国的领先 AIoT 平台企业&#xff0c;在产品设计与研发…

Matter 系列 #9|乐鑫 Matter 预配置服务加速设备生产

乐鑫 Matter 系列文章 #9 目录 Matter 预配置服务 1. 设备认证 (Device Attestation) 2. 独特性 (Uniqueness) 3. 安全性 (Security) 联系我们​​​​​​​ 如今&#xff0c;物联网行业蓬勃发展&#xff0c;大量市场参与者正在积极地构建 Matter 智能设备。 乐鑫一直致…

基于乐鑫 ESP32 的智能手表

拥有一块自己制作的智能手表是不是听起来就很酷&#xff1f;工程师 Pcadic 基于乐鑫 ESP32-PICO-D4 实现了这个想法&#xff01;他开发了一款能够与我们的手机或任何其他设备互联的智能手表 ESP32-Pico-Watch。 ESP32-Pico-Watch 支持 Wi-Fi、蓝牙、Mesh&#xff0c;拥有 1 个振…

乐鑫科技推出 ESP-LEDStrip 智能律动灯方案

人们在丰富多彩的日常生活中对照明设备的功能和效果提出了更高要求&#xff1a;它们不仅要具备基础照明功能&#xff0c;还需要在本地/远程控制、个性化设置、光效调节等多方面提升用户的智能使用体验&#xff0c;甚至在不同场景中发挥渲染气氛、提升装饰品味、制造视觉冲击等作…

乐鑫科技笔试总结

1 CPU包括哪三部分&#xff1f; 运算器&#xff0c;控制器&#xff0c;存储器构成 1、运算器 运算器的基本功能是完成对各种数据的加工处理&#xff0c;例如算术四则运算&#xff0c;与、或、求反等逻辑运算&#xff0c;算术和逻辑移位操作&#xff0c;比较数值&#xff0c;…

乐鑫科技亮相德国嵌入式展 Embedded World 2023!

3 月 14 日&#xff0c;德国纽伦堡嵌入式展 Embedded World 2023 火热启幕。本届 Embedded World 主题为 “embedded. responsible. sustainable”&#xff0c;乐鑫科技 (688018.SH) 携众多 AIoT 科技成果亮相展会&#xff0c;致力于打造更智能、更互联、更绿色的物联网未来。…

乐鑫笔试题C语言,乐鑫科技2020秋招笔试题——数字IC

原题&#xff1a;请将下面这段 C 语言描述的串行处理过程&#xff0c;转换为单拍完成的并行处理&#xff0c;并用可综合的 Verilog 来描述。 unsigned char cal_table_high_first(unsigned char value) { unsigned char i; unsigned char checksum value&#xff1b; for (i8;…

乐鑫科技2020届秋招-数字IC类真题

最近在牛客网刷数字IC真题&#xff0c;看到乐鑫科技2020秋招真题&#xff0c;做完发现有的人首先用c语言模拟输入输出参考模型用作verilog输入输出真值表参数&#xff0c;然后根据真值表算出输入输出各位之间的关系&#xff0c;这显然在现实笔试时是不可取的&#xff0c;时间浪…

数字IC手撕代码-乐鑫科技笔试真题(4倍频)

前言&#xff1a; 本专栏旨在记录高频笔面试手撕代码题&#xff0c;以备数字前端秋招&#xff0c;本专栏所有文章提供原理分析、代码及波形&#xff0c;所有代码均经过本人验证。 目录如下&#xff1a; 1.数字IC手撕代码-分频器&#xff08;任意偶数分频&#xff09; 2.数字I…

乐鑫科技2022笔试面试题

来源于读者投稿&#xff0c;作者来源于牛客网的 galun 。 投递方式&#xff1a;内推。 岗位&#xff1a;嵌入式软件实习生。 个人情况&#xff1a;本科双非电子信息工程&#xff0c;硕士华五软件工程研一在读&#xff1b;本科做过一些很水的项目 &#xff0c;也拿项目搞了一些奖…

chatgpt赋能python:Python下载模块并安装教程

Python下载模块并安装教程 Python 作为一门广泛应用于各个领域的编程语言&#xff0c;具有易学易用、生态丰富等诸多优势&#xff0c;然而为了方便我们进行某些操作&#xff0c;会需要下载一些第三方的模块。因此&#xff0c;本文将介绍如何下载模块并安装。 下载模块 下载模…

Java 基础入门笔记

Java 入门基础笔记 标识符 标识符必须以 字母 _ $ 开头 大小写敏感 可包含 字母 _ $ 不能是 JAVA 的 关键字 int String 驼峰规则 javaBasicKonwledge 基本数据类型 数值型字符型布尔型整数类型(byte short int long)char 字符型true浮点型(float double)String 字符串 …

串口软件Vofa+,超好用。可用于高速采集数据直观化显示动态

&#xff08;上一次写的不够完整&#xff0c;有好多人还会遇到问题&#xff0c;我再回来完善下&#xff09; 使用背景&#xff1a; 在调试无感的无刷直流电机的应用中&#xff0c;需要高速采集3路驱动电压&#xff0c;用于检测反电动势的“过零点”。 &#xff08;其实后来接…

国内IT软件外包公司汇总(2023 最新版)!

关注、星标公众号&#xff0c;直达精彩内容 原文&#xff1a;https://sourl.cn/Y757iG 最近很多读者问我只有外包的 offer 能去吗&#xff1f; 大环境不行&#xff0c;面试太少了&#xff0c;很多本科生想进外包都没机会。非常时期&#xff0c;不需要在意那么多&#xff0c;外包…

鼎捷T100权限管控设定

文章目录 一、名称解释1.1 角色1.2 用户1.3 账号 二、权限结构2.1 权限设置作业 三、权限实作3.1 角色规划3.2 用户数据设置 一、名称解释 1.1 角色 角色代表企业中的一个职能权限集合&#xff0c;例如业务职能需要有估报价单维护、订单维护等操作权限。 角色定义操作权限如作…

聚焦装备制造行业数智化转型 鼎捷软件勇担产业先锋

国务院政府工作报告指出&#xff1a;“十四五期间加快数字化发展&#xff0c;打造数字经济新优势&#xff0c;协同推进数字产业化和产业数字化转型”。制造业数字化转型作为产业数字化的重点体现&#xff0c;将成为未来中国制造业实现新发展的焦点所在。作为国民经济的支柱产业…