8位流水灯程序verilog_Verilog没有葵花宝典【活动总结】

少说。多练。坚持。

4月18日召集微信群和知识星球打卡活动,5月18日微信群解散,历时一月,共有20位朋友参与。扣除五一假期与周末休息,累计学习15天。学习需要继续!

特别感谢提供专业指导的两位老师(排名不分先后),欢迎大家关注他们的微信订阅号获取更多专业分享。

陈大(微信订阅号:ExASIC)

fae5e8cd39abf204a10eb7e49a563bea.png

孟博士(微信订阅号:数字芯片设计笔记)

2b9d4ac4e0bee8ecb61684218f06315d.png


cc600a5dabaaee3c1c3a52cf47bf10a2.png

5月18日 活动总结

关于组队,关于学习,关于未来的计划,关于行业,关于生活,关于梦想,随便聊聊吧。

5月17日 APB I2C

设计一个apb i2c master模块。需要两周甚至更长的时间完成。

参考代码:https://github.com/pulp-platform/apb_i2c/blob/master/apb_i2c.sv

5月16日 存储器

  1. rom,ram,flash,ddr,sram,dram,mram..列举并解释一下这些名词。

  2. 用verilog实现一个深度为16,位宽8bit的单端口SRAM。搭建一个仿真环境,完成初始化,读取,写入的操作。

  3. 使用单端口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日 按键防抖

  1. 用verilog实现按键抖动消除电路,抖动小于15ms,输入时钟12MHz。

  2. 记录题目1中用到的工具,操作步骤,遇到的错误和提示信息。

5月6日 计数器

  1. 用verilog实现一个4bit二进制计数器。
    a) 异步复位 b) 同步复位

input clk, rst_n; 
output [3:0] o_cnt;
  1. 用verilog实现4bit约翰逊(Johnson)计数器。

  2. 用verilog实现4bit环形计数器:复位有效时输出0001,复位释放后依次输出0010,0100,1000,0001,0010…

  3. 比较一下以上三种计数器的特点。

  4. 记录1,2,3题目使用的工具,操作步骤,以及出现的错误和提示信息

4月30日 串并转换

  1. 复习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日 时序电路

  1. dff和latch有什么区别。

  2. 什么是同步电路和异步电路。

  3. 什么是setup time和 hold time。

  4. 设计一个101序列检测器。画出状态转移图,写verilog,并仿真测试。

4月25日 组合逻辑

  1. 什么是竞争和冒险?

  2. 设计一个2-4译码器。

  3. 输入一个8bit数,输出其中1的个数。如果只能使用1bit全加器,最少需要几个?

  4. 如果一个标准单元库只有三个cell:

  • 2输入mux(o = s ?a :b;),

  • TIEH(输出常数1),

  • TIEL(输出常数0),

    如何实现以下功能?

  • 反相器inv

  • 缓冲器buffer

  • 两输入与门and2

  • 两输入或门or2

  • 四输入的mux  mux4

  • 一位全加器 fa

4月24日 标准单元库

  1. 了解目录结构:与前端相关的比如文档(doc),仿真模型(verilog/vhdl),标准单元库(synopsys/symbols)

  2. 阅读文档transition time, propagation delay等参数的定义

  3. 阅读文档Power Dissipation/Calculation的描述

  4. 阅读文档Delay calculation的描述

  5. 提供了哪些类型的cell?

  6. Verilog文件中包含了哪些信息?

4月23日 门电路

  1. 画一下电路图:CMOS反相器、与非门、或非门、三态输出门、漏极开路门。

  2. 解释一下Vih,Vil,Vol,Voh,Vt,Iddq

  3. CMOS反相器的速度与哪些因素有关?什么是转换时间(transition time)和传播延迟(propagation delay)?

  4. CMOS反相器的功耗主要包括哪几部分?分别与哪些因素相关?

  5. 什么是latch-up(闩锁效应)?

  6. 相同面积的cmos与非门和或非门哪个更快?

4月22日 进制与编码

  1. bit, byte, word, dword, qword的区别

  2. 什么是原码,反码,补码,符号-数值码。以8bit为例,给出各自表示的数值范围。

  3. 十进制转换为二进制编码:127, (-127),127.375,(-127.375)

  4. 设计BCD译码器,输入0~9。采用verilog描述并画出门级电路图。

  5. 异步FIFO深度为17,如何设计地址格雷码?

4月19日 学习环境准备

  1. 你的仿真、综合环境选择好了吗?

  2. 你的github账号注册了吗?或者你打算采用什么样的版本管理工具保存你的代码?

  3. 选择一本数字电路教程,一本verilog语法书。实体书,电子版都可以。

4月18日 自我介绍

  • 代号:

  • 城市:

  • Verilog经验值:

  • 个人兴趣爱好:

  • 随便你想说的:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值