为了能够在做题目的过程中学习到需要的知识,对每道题知识参考或者知识详情都做了详细的说明。方便后续复习。欢迎对文中的解答批评指正。
- 1. [简答题] 某RTL design中使用了如下256 x16 memory:
- 2. [简答题] s(t)为fsk调制信号s(t)=x(n)sin(w1t)+x'(n)sin(w2t), {w1>w2},x(n)={1,011,01}.带通滤波的通带为w1±a,0w2},x(n)={1,011,01}.带通滤波的通带为w1±a,0F1.D路径的偏斜就是 -1ns。F1.clk->F0.D路径的偏斜就是 1ns。
F0.clk->F1.D路径:
- 建立关系:tcq + tc0 + tsetup < tclk + tskew,1.5 + tc0 + 1 < 12 + (-1) ,tc0 < 8.5ns
- 保持关系:tcq + tc0 > thold + tskew,1.5 + tc0 > 0.5 + (-1),tc0 > -2ns。
F1.clk->F0.D路径:
- 建立关系:tcq + tc1 + tsetup < tclk + tskew,1.5 + tc1 + 1 < 12 + (1) ,tc0 < 11.5ns
- 保持关系:tcq + tc1 > thold + tskew,1.5 + tc1 > 0.5 + (1),tc0 > 0ns。
3) 片上变化(on chip variation,OCV)概念学习
片上变化(On-Chip Variation,OCV):对同一 network 的不同段进行的这种差异处理,可以覆盖到同一芯片不同部分上的任何变化情况。这种差异处理被称为片上变化。
clk->F0.clk 和 clk->F1.clk 两条时钟路径会受影响。
5. [简答题]正则表达式描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等,字符集是指在单个位置上能匹配的各种模式字符的集合,部分字符集的简写形式如下图所示。请问:“\W*\sinput\swire\s*([\d+:\d+])\s(\w+)\s*”可以匹配到下边哪个或哪些选项? (5分)
- A. input wire [3:0] num1
- B. // input wire num2
- [] C. // input wire [WIDTH-1:0] num3
- [] D. Input wire [10:0] num4
- [] E. input wire [BIT:0] num5
\W*【尽量多个非单词字符】\s*【尽量多个空白字符】input【input字符串】\s*【尽量多个空白字符】wire【wire字符串】\s*【尽量多个空白字符】([\d+:\d+)【:两边尽量多数字,尽量多个这样的组合】\s(\w+)【尽量多个单词字符】\s*
整理:【非单词字符】【空白字符】input【空白字符】wire【空白字符】【:两边尽量多数字,尽量多个这样的组合】【空白字符】【单词字符】
A、B可以,C WIDTH不符合、D Input 不符合、E BIT不符合。
在线运行工具:正则表达式在线测试
6. [简答题]针对近年来参与的一个项目进行说明a.说明项目整体情况,及你所负责的内容。(可附框图) (2分) b.开发过程中的最大挑战是什么? (3分) c.当时是怎么处理这个挑战?如果重新来过,你可能会怎么处理? (5分) (10分)
STAR法则
7. [简答题] Verilog开发。当A、B两组的信号请求访问某个模块时,为了保证正确的访问,需要对这些信号进行仲裁。请用Verilog实现一个仲裁器,对两组请求信号进行仲裁,要求: 协议如图所示,请求方发送req(request)信号1表示有请求给仲裁器,仲裁器响应grant信号为1表示请求成功:
通过参数定义在冲突情形下,响应A/B的比例
(举例,一段时间内,有若干次A请求和若干次B请求,其中A&B发生冲突的有N次,这N次中先响应A 3次,后响应B 1次,循环反复。举例中的3和1可配置。);
添加必要的注释,增加代码可读性。(15分)
这里个人对题目的理解有点不够透彻。结果仅供参考。
- 当需要仲裁时,会在响应完其他优先总线后响应另一总线?或者跳过另一个总线的请求?
- 注意响应信号要在请求同一周期发出。这就导致需要组合逻辑输出,一般有这样搞的吗?
不太喜欢这个题目,写一下思路,未验证:
`timescale 1ns/1ps module arbiter #( parameter P_A = 3, parameter P_B = 1 )( //---system interface --- input I_sys_clk , input I_reset_n , //--- user interface --- input I_req_a , output reg O_grantq_a, input I_req_b , output reg O_grantq_b ); //--- internal signal definitions --- //=== parameter definitions === localparam P_WIDTH = $clog2(P_A+P_B); //=== reg definitions === reg [P_WIDTH-1 : 0] R_arbiter_cnt; reg R_reg_conflict ; reg R1_reg_conflict; //=== wire definitions === wire W_reg_conflict; //--- Main body of code --- assign W_reg_conflict = I_req_a && I_req_b; always @(posedge I_sys_clk or negedge I_reset_n) begin if(~I_reset_n) begin R_arbiter_cnt
关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?


微信扫码登录