01 Verilog学习 学习计划 1.《Verilog数字系统设计教程-夏宇闻》3-6章快速学习一下; 2. 掌握简单的数字设计实现(全加器、计数器、算数,逻辑,移位操作、上升沿触发器、异步置位、带复位触发器、同步置位、复位的触发器等),学会用Modelsim仿真; 3. 这部分学习主要靠看书和实验,需要在Modelsim中完成《Verilog数字系统设计教程》第三部分所有练习。刚开始不会写可以抄书上的代码,但是必须看到仿真的结果,对着波形理解; 4. 如果不会写testbench,可以先抄书上的;但是后续要自己学习编写testbench; 5. 理解经典数字设计问题:逻辑函数、异步/同步复位、竞争冒险等; 6. 掌握经典设计题目:FSM、跨时钟域传输(包括FIFO、握手)、Arbiter等; 7. Verilog大作业是IIC/MCDF设计部分(先学会IIC,然后学会MCDF)。 作业 1. 编写边沿检测程序; 2. 编写完成奇数分频; 3. 状态机作业: 1)学习状态机思想,总结状态机写法(三段式) 2)用状态机实现红绿灯程序 要求: 绿灯时,当过25周期,则切到黄灯; 黄灯时,当过2周期,则切到红灯; 红灯时,每过15周期,则切到绿灯; 输出state信号指示当前状态; 3) 状态机实现序列检测 用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. 状态机实现; 4. 同步FIFO学习和编写; 5. 跨时钟域学习和程序编写 1)主要参考《硬件架构的艺术》,讲的非常细致; 2)异步FIFO:看书讲解完成程序编写,仿真结果要认真理解; 3)跨时钟域传输握手协议学习和编写; 6. IIC协议:学习《FPGA实战》,前期看书,后续可以自己实现。 02 System Verilog学习 学习计划 1. 前期学习以《SystemVerilog与功能验证》钟文枫为主,对初学者比较友好,最终目标是学会石头剪刀布的设计验证; 2. 后续将学习《芯片验证漫游》(红宝书)、《SystemVerilog测试验证平台》(绿宝书); 3. 后面要学习下怎么验证FIFO、IIC、MCDF;学会SV核心在于写代码,跑仿真; 4. 详细的学习计划和作业将会在后面发布。 03 UVM学习 学习计划: 1. 学习以白皮书(《UVM实战》)为主; 2. 涉及到UVM后,再学习LINUX环境和脚本语言,在虚拟机跑代码; 3. 详细的学习计划和作业将会在后面发布。 04 求职培训 学习计划: 1. 指导完成项目梳理; 2. 指导完成简历编写; 2. 分享面试经验,模拟面试。 |
|
来自: 昵称28372044 > 《A验证》