芯片学习计划

之前就计划做一个技术知识分享系列,奈何一直没有机会。最近在教女朋友学习数字芯片设计和验证,准备将整个学习过程的知识点总结下来,希望对想要入门的同学有所帮助!这是第一节,学习计划。
01 Verilog学习
学习计划

1.《Verilog数字系统设计教程-夏宇闻》3-6章快速学习一下;

  1. 掌握简单的数字设计实现(全加器、计数器、算数,逻辑,移位操作、上升沿触发器、异步置位、带复位触发器、同步置位、复位的触发器等),学会用Modelsim仿真;

  2. 这部分学习主要靠看书和实验,需要在Modelsim中完成《Verilog数字系统设计教程》第三部分所有练习。刚开始不会写可以抄书上的代码,但是必须看到仿真的结果,对着波形理解;

  3. 如果不会写testbench,可以先抄书上的;但是后续要自己学习编写testbench;

  4. 理解经典数字设计问题:逻辑函数、异步/同步复位、竞争冒险等;

  5. 掌握经典设计题目:FSM、跨时钟域传输(包括FIFO、握手)、Arbiter等;

  6. Verilog大作业是IIC/MCDF设计部分(先学会IIC,然后学会MCDF)。

作业

  1. 编写边沿检测程序;

  2. 编写完成奇数分频;

  3. 状态机作业:

1)学习状态机思想,总结状态机写法(三段式)

2)用状态机实现红绿灯程序

要求:

绿灯时,当过25周期,则切到黄灯;

黄灯时,当过2周期,则切到红灯;

红灯时,每过15周期,则切到绿灯;

输出state信号指示当前状态;
  1. 状态机实现序列检测

    用Verilog描述一个可综合的序列检测器,用于检测输入数据码流中的特定序列(本次检测序列为100101)。当检测到100101序列(包括重叠的情况)时,序列检测器输出1,否则输出0。状态编码要求:One-hot独热码,代码风格要规范;

4)Round_Robin_Arbiter 设计

总线上挂3个从机A,B,C,输出仲裁信号grant;

grant[1:0]=2'b01   A获得总线

grant[1:0]=2'b10   B获得总线

grant[1:0]=2'b11   C获得总线

总线轮询算法要求:

a. 如果当前只有一个信号请求,则处理;

b. 如果没有请求,那么保持不变;

c. 如果同时有多个信号请求,考虑上一个请求信号;

d. 如果当前请求信号是A,那么之后轮询的是BCA,如果当前请求信号是B,那么之后轮询的是CAB,如果当前请求信号是C,那么之后轮询的是ABC;

e. 状态机实现;
  1. 同步FIFO学习和编写;

  2. 跨时钟域学习和程序编写

1)主要参考《硬件架构的艺术》,讲的非常细致;

2)异步FIFO:看书讲解完成程序编写,仿真结果要认真理解;

3)跨时钟域传输握手协议学习和编写;

  1. IIC协议:学习《FPGA实战》,前期看书,后续可以自己实现。

02 System Verilog学习

学习计划

  1. 前期学习以《SystemVerilog与功能验证》钟文枫为主,对初学者比较友好,最终目标是学会石头剪刀布的设计验证;

  2. 后续将学习《芯片验证漫游》(红宝书)、《SystemVerilog测试验证平台》(绿宝书);

  3. 后面要学习下怎么验证FIFO、IIC、MCDF;学会SV核心在于写代码,跑仿真;

  4. 详细的学习计划和作业将会在后面发布。

03 UVM学习
学习计划:

  1. 学习以白皮书(《UVM实战》)为主;

  2. 涉及到UVM后,再学习LINUX环境和脚本语言,在虚拟机跑代码;

  3. 详细的学习计划和作业将会在后面发布。
    04 求职培训
    学习计划:

  4. 指导完成项目梳理;

  5. 指导完成简历编写;

  6. 分享面试经验,模拟面试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值