少说。多练。坚持。
4月18日召集微信群和知识星球打卡活动,5月18日微信群解散,历时一月,共有20位朋友参与。扣除五一假期与周末休息,累计学习15天。学习需要继续!
特别感谢提供专业指导的两位老师(排名不分先后),欢迎大家关注他们的微信订阅号获取更多专业分享。
陈大(微信订阅号:ExASIC)
孟博士(微信订阅号:数字芯片设计笔记)
5月18日 活动总结
关于组队,关于学习,关于未来的计划,关于行业,关于生活,关于梦想,随便聊聊吧。
5月17日 APB I2C
设计一个apb i2c master模块。需要两周甚至更长的时间完成。
参考代码:https://github.com/pulp-platform/apb_i2c/blob/master/apb_i2c.sv
5月16日 存储器
rom,ram,flash,ddr,sram,dram,mram..列举并解释一下这些名词。
用verilog实现一个深度为16,位宽8bit的单端口SRAM。搭建一个仿真环境,完成初始化,读取,写入的操作。
使用单端口SRAM构造一个双端口同步FIFO。
5月15日 数据通路
y = func(a,b)
func可以是加法,减法,乘法,比较,移位,舍入,饱和等。
分别针对有符号数,无符号数的情况。
5月14日 三分频
设计一个占空比50%的三分频电路。
5月13日 时钟切换
设计glitch-free的两路时钟切换电路。
5月9日 回顾
总结写代码和仿真的操作步骤、遇到的错误和提示信息。有哪些共性?有哪些地方可以自动化?
5月8日 PWM
用verilog实现PWM控制呼吸灯。呼吸周期2秒:1秒逐渐变亮,1秒逐渐变暗。系统时钟24MHz,pwm周期1ms,精度1us。
5月7日 按键防抖
用verilog实现按键抖动消除电路,抖动小于15ms,输入时钟12MHz。
记录题目1中用到的工具,操作步骤,遇到的错误和提示信息。
5月6日 计数器
用verilog实现一个4bit二进制计数器。
a) 异步复位 b) 同步复位
input clk, rst_n;
output [3:0] o_cnt;
用verilog实现4bit约翰逊(Johnson)计数器。
用verilog实现4bit环形计数器:复位有效时输出0001,复位释放后依次输出0010,0100,1000,0001,0010…
比较一下以上三种计数器的特点。
记录1,2,3题目使用的工具,操作步骤,以及出现的错误和提示信息
4月30日 串并转换
复习verilog语法【选做题】
文件操作fopen fdisplay fwrite fclose
生成随机数 random
初始化 readmemh readmemb
finish stop
2. 用verilog实现串并变换。
input [3:0] data_in;
output [3:0] data_out;
input [1:0] mode;
input load;
input clk;
input rst_n;
mode 0:串行输入data_in[0],并行输出data_out[3:0]
mode 1 :并行输入data_in[3:0],串行输出data_out[0]
mode 2 :并行输入data_in[3:0],并行输出data_out[3:0],延迟1个时钟周期
mode 3 :并行输入data_in[3:0],并行反序输出data_out[3:0],延迟1个时钟周期并且交换bit顺序
data_out[3]=data_in[0];
data_out[2]=data_in[1]
data_out[1]=data_in[2]
data_out[0]=data_in[3]
附加要求【选做】 将输入输出的位宽做成参数化
3. 记录一下第2题中用到的工具,包括工具版本,操作步骤或命令选项,遇到的错误,提示信息等。比较一下,与昨天的记录有何相同,有何不同。
4月29日 边沿检测
1. 复习verilog语法【选做题】
reg和wire的区别
阻塞赋值与非阻塞赋值的区别
parameter与define的区别
task与function的区别
2. 用verilog实现边沿检测电路:上升沿,下降沿,双沿(上升或下降沿)。
3. 记录一下第2题中用到的工具,包括工具版本,操作步骤或命令选项,遇到的错误,提示信息等。
4月27日 吐槽
打卡已经一周了,谈谈你的感受。
下周打算怎么玩,说说你的想法。
字数不少于15个字。
4月26日 时序电路
dff和latch有什么区别。
什么是同步电路和异步电路。
什么是setup time和 hold time。
设计一个101序列检测器。画出状态转移图,写verilog,并仿真测试。
4月25日 组合逻辑
什么是竞争和冒险?
设计一个2-4译码器。
输入一个8bit数,输出其中1的个数。如果只能使用1bit全加器,最少需要几个?
如果一个标准单元库只有三个cell:
2输入mux(o = s ?a :b;),
TIEH(输出常数1),
TIEL(输出常数0),
如何实现以下功能?
反相器inv
缓冲器buffer
两输入与门and2
两输入或门or2
四输入的mux mux4
一位全加器 fa
4月24日 标准单元库
了解目录结构:与前端相关的比如文档(doc),仿真模型(verilog/vhdl),标准单元库(synopsys/symbols)
阅读文档transition time, propagation delay等参数的定义
阅读文档Power Dissipation/Calculation的描述
阅读文档Delay calculation的描述
提供了哪些类型的cell?
Verilog文件中包含了哪些信息?
4月23日 门电路
画一下电路图:CMOS反相器、与非门、或非门、三态输出门、漏极开路门。
解释一下Vih,Vil,Vol,Voh,Vt,Iddq
CMOS反相器的速度与哪些因素有关?什么是转换时间(transition time)和传播延迟(propagation delay)?
CMOS反相器的功耗主要包括哪几部分?分别与哪些因素相关?
什么是latch-up(闩锁效应)?
相同面积的cmos与非门和或非门哪个更快?
4月22日 进制与编码
bit, byte, word, dword, qword的区别
什么是原码,反码,补码,符号-数值码。以8bit为例,给出各自表示的数值范围。
十进制转换为二进制编码:127, (-127),127.375,(-127.375)
设计BCD译码器,输入0~9。采用verilog描述并画出门级电路图。
异步FIFO深度为17,如何设计地址格雷码?
4月19日 学习环境准备
你的仿真、综合环境选择好了吗?
你的github账号注册了吗?或者你打算采用什么样的版本管理工具保存你的代码?
选择一本数字电路教程,一本verilog语法书。实体书,电子版都可以。
4月18日 自我介绍
代号:
城市:
Verilog经验值:
个人兴趣爱好:
随便你想说的: