为了能够在做题目的过程中学习到需要的知识,对每道题知识参考或者知识详情都做了详细的说明。方便后续复习。欢迎对文中的解答批评指正。
简答题(共8道题|合计100分|请根据题目要求进行合理回答)
1 (20分) [简答题] Figure1 电路是数字设计中常用的 2选1 MUX,请:
a) 列出其真值表
b) 列出其卡诺图
c) 写出其最简逻辑表达式
d) figure2 是在用AOI实现MUX结构(非最简逻辑表达式,但存在一个错误的CELL导致逻辑错误, 请找出这个CELL。
a)
真值表:
A(c0) | B(c1) | C | D |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
b)
c)
D
=
A
C
‾
+
B
C
D=A\overline{C}+BC
D=AC+BC
d)
现在:
D
=
(
(
A
&
B
)
∣
(
!
B
&
C
)
)
∣
(
!
C
&
A
)
D = ((A \& B) | (!B \& C)) | (!C \& A)
D=((A&B)∣(!B&C))∣(!C&A)
INV0 用错,去掉即可。
D = ( ( A & B ) ∣ ( B & C ) ) ∣ ( ! C & A ) D = ((A \& B) | (B \& C)) | (!C \& A) D=((A&B)∣(B&C))∣(!C&A)
2 (5分) [简答题] ASIC flow中综合工具的作用是什么?综合的结果主要关注什么指标?
综合工具的作用:完成RTL级到门级网表的转换。
- translation:把设计的HDL描述转化为GTECH库元件组成的逻辑电路;GTECH库是Synopsys公司提供的通用的、独立于工艺的元件库。
- mapping:将GTECH库元件映射到某一特定的半导体工艺库上,此时的电路网表包含了相关的工艺参数。
- optimization:根据设计者设定的时延、面积、线负载模型等综合约束条件对电路网表进一步优化的过程。
综合结果关注的指标:
- 电路的面积
- 电路的功耗
- 电路的时序
3 (10分) [简答题] 下图中的3种图形(都是两两相邻。如何把这个正方形划分为形状相同的4块,每块上要有3个不同的图形?
- 正方形划分成现状相同的四块就行。
- 每块上有3种图形。
4 (10分) [简答题] 请选择项您所参与的的项目,简单说明项目内容,简述您所做的工作内容,并列举一项项目中遇到的困难和解决思路?
5 (5分) [简普题] Perl是种脚本语言,有强大的正则表达式,特别擅长对文本的处理,还可以用Perl编制程序案产生别的程序,在IC验证设计中被广泛应用,极大的提高工作效率。图1是份不完整的per代码有5处需要补充(#code_0~#code_4),请把代码朴充完整,达成图2所示的运行结果。
#code_0:
#code_1:
#code_2:
#code_3:
#code_4:
#!usr/bin/perl
use strict;
use Encode;
use Switch;
my $i = 0;
for($i; $i<5; $i++){
my $str = "mediatek: that's everyday genius !";
switch($i){
case 0 {
#code_0;
print "$i:$str \n";
}
case 1 {
#code_1;
print "$i:$str \n";
}
case 2 {
#code_2;
print "$i:$str \n";
}
case 3 {
$str =~ m/: that's/;
#code_3;
}
case 4 {
$str =~ m/: that's/;
#code_4;
}
}
}
Perl的正则表达式的三种形式,分别是匹配,替换和转化:
- 匹配:m//(还可以简写为//,略去m)
- 替换:s///
- 转化:tr///
case 0:首字母M大写
case 1: 字母T大写
case 2: 所有字母大写
case 3:只输出第一个单词
case 4:输出后两个单词
配置perl环境:
- 下载安装 strawberryPerl
- 配置环境变量
[安装路径]\Strawberry\perl\bin
- 安装题目需要的模块
cpan strict; cpan Encode; cpan Switch;
- 补全脚本
[脚本名].pl
#!/usr/bin/perl use strict; use Encode; use Switch; my $i = 0; for($i; $i<5; $i++){ my $str = "mediatek: that's everyday genius !"; switch($i){ case 0 { $str =~ s/m/M/; print "$i:$str \n"; } case 1 { $str =~ tr/t/T/; print "$i:$str \n"; } case 2 { $str =~ tr/a-z/A-Z/; print "$i:$str \n"; } case 3 { $str =~ m/: that's/; print "$i:$` \n"; } case 4 { $str =~ m/: that's/; print "$i:$' \n"; } } }
- 运行脚本
perl [脚本名].pl
6 (15分)[简答题]某电路时序图如下所示,简述该电路的功能,并用verilog代码实现。
说明: clk/in[7:0]是input端, pedge[7:0]是output端。
电路功能:检测输入数据每位的上升沿。
Verilog 代码实现:
上升沿滞后一个周期。
`timescale 1ns/1ps
module pedge_detecte(
input clk ,
input rstn ,
input [7:0] in ,
output reg [7:0] pedge
);
reg R_in;
always @(posedge clk or negedge rstn)
begin
if(~rstn)
begin
R_in <= 8'b0;
end
else
begin
R_in <= in;
end
end
always @(posedge clk or negedge rstn)
begin
if(~rstn)
begin
pedge <= 8'b0;
end
else
begin
pedge <= in & (~R_in); // 这里是bitwise非~,千万不要用成逻辑非 !
end
end
endmodule
7 (15分) [简答题] C语言实现字符串反转并打印出来例如:输入”abcd"输出”dcba"
字符串后面带一个’\0’字符。
#include <stdio.h>
int main()
{
char str[] = "abcd";
int size = sizeof(str);
char str_inv[size];
for(int i = 0; i < size-1; i++){
str_inv[i] = str[size-i-2];
}
printf(str_inv);
return 0;
}
8 (20分) [简答题] 请从以下的两道试题中,任选一题进行作答。作答时请表注明题号
第一题: SystemVerilog是广泛使用的验证语言,请至少例举3个它为验证工作提供的功能;UVM作为广泛使用的验证方法学,它将仿真过程切分为哪3个主要的phase?
第二题: 设一段信号可能由频率为0.9MHz,0.8MHz,0.6MHz的三个余弦信号组成
(1) 为无失真恢复原信号,采样率fs至少为多少?
(2) 在(1)的条件下,为区别三种信号,至少需要采集多长时间ts的数据?
第一题:
参考:《SYSTEM VERILOG验证-测试平台编写指南》
SystemVerilog作为硬件验证语言,相比HDL具有的典型性质:
- 1 受约束的随机激励生成。
- 2 功能覆盖率。
- 3 更高层次的结构,尤其是面向对象的编程。
- 4 多线程及线程间的通信。
- 5 支持HDL数据类型。如Verilog的四状态数值。
- 6 集成了时间仿真器,便于对设计施加控制。
参考:《UVM实战》
UVM仿真过程切分为3个主要的phase:
主要有3类phase,但是主要是哪3个,我也不清楚,学艺不精。
UVM中的phase主要分为3类,即按顺序执行build phase、run-time phase和clean up phase。
- Build phases-构建和配置testbench;
- Run-time phases-在testbench上运行test case(会消耗仿真时间);
- Clean up phases-在该阶段报告test case的结果。
第二题:
(1):
根据奈奎斯特采样定理,采样率fs需要大于两倍fmax,即 1.8MHz。文章来源:https://www.toymoban.com/news/detail-422510.html
(2):
fft频率分辨力:1/N * fs ,这里需要分辨最小频率间隔位0.1MHz,将fs = 1.8MHz带入,N > 18。则最小采样时间为 18 * (1/1.8MHz) = 10us。文章来源地址https://www.toymoban.com/news/detail-422510.html
到了这里,关于【题目精刷】2023联发科-数字IC-实习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!