• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
dzw9
博客园    首页    新随笔    联系   管理    订阅  订阅
IC刷题

1. 边沿检测电路

对于一个上升沿电路来说,假如用clk信号与寄存器进行采样,前一拍采到0,后一拍输入结果为1,那么通过组合逻辑的运算,前一拍用A表示,后一拍用B表示,“!A & B”就是上升沿检测。
同理,对于下降沿来说,前一拍采到1,后一拍输入结果为0,A&!B,就是我们需要的下降沿检测电路。
对于双边沿来说,输出是“!A & B + A&!B”,即 A^B 异或操作

2. 奇数分频电路

  • 2.1 不需要满足50%占空比的分频电路
    设置一个三位计数器0-1-2,每次遇到count=0或1的时候进行翻转,再加上复位信号

  • 2.2 需要满足50%占空比的分频电路
    设置一个上升沿计数器,一个下降沿计数器,计数的最大值都是2,计数器的值是1或2翻转信号clk,取两个信号的或

3. 偶数分频电路

  • 3.1 寄存器级联法实现2^N的偶数分频,当时钟上升沿到来的时候输出结果进行翻转
  • 3.2 计数器法实现任意偶数分频,clock=N/2-1时clock进行翻转实现N分频

4. 半整数分频

对于3.5分频来说,需要1.75个时钟周期进行一次翻转,这种存在1/4周期的翻转很难仅仅通过数字电路/Verilog取实现

用上升沿和下降沿各产生一个7分频的时钟信号,这两个信号的距离是3.5个时钟周期,用逻辑或的形式,即可产生无抖动3.5分频信号

5. 小数/分数分频

实现”a/b“ 的分频电路
T=43/5=8.6 86个输入上升沿对应10个输出上升沿
T = ( Ma+(M+1)b )/ a+b,使用了a个M分频和b个M+1分频的整数分频电路。
整数部分为8,因此选用8分频和9分频来进行合成
8a+9b=43,a+b=5,a=2,b=3

计数器从0计到4,当count=0,2,4的时候,执行9分频,当count=1,3的时候,执行8分频
将 2 次 8 分频平均的插入到 3 次 9 分频中

6. 序列检测器

检测序列1001,检测到的时候输出1,没检测到的时候输出0
采用状态机的方法进行设计 IDLE--S1-S2-S3-S4
当时钟上升沿到来时采到的信号为1001时,output输出为1

7. 模三检测器

判断输入序列能否被三整除,能的时候输出1,不能的时候输出0
余数来说只存在0、1、2,加上IDLE需要四个状态
输入序列一边移位,一边输入,结合当前状态和输入序列判断输出的mealy型状态机

8. 售卖饮料机

每瓶饮料1.5元,一次只能投入一个硬币,可投入0.5与1.0两种硬币,具有找零功能
$random可以产生一个有符号的32bit随机整数,

$random%b 产生 -(b-1):(b-1) 随机整数

{$random}%b 产生 0:(b-1) 随机整数

9.异步复位同步释放电路

异步复位:对为0的复位信号不做处理,让其正常异步复位
同步释放:对为1的复位信号打两拍,使其拉高时对齐时钟边沿,以此来避免亚稳态的发生

10.半加器、全加器

半加器:S = A^B;Cout = A&B
全加器:S = A^B^Cin;Cout = (A&B)|(A&Cin)|(B&Cin)

11.二进制转格雷码

4bit二进制输入的格雷码的转换
gray_code = binary_code ^ (binary_code >> 1);

12.单比特时钟域切换

单bit宽度为10ns的data信号由频率为周期为10ns的时钟域同步至周期为7ns的时钟域,(慢到快)
打两拍进行同步

13.奇偶检测

奇偶校验位有两种类型:偶校验位与奇校验位。
以偶校验位来说,如果一组给定数据位中1的个数是奇数,补一个bit为1,使得总的1的个数是偶数。即各位进行异或
以奇校验位来说,如果给定一组数据位中1的个数是奇数,补一个bit为0,使得总的1的个数是奇数。偶校验取反
0代表正确,1代表错误

14.伪随机数生成器.线性反馈移位寄存器

线性反馈移位寄存器(LSFR),具体可以细分为斐波那契LFSR,伽罗瓦LFSR

15.同步FIFO

设计同步FIFO,数据位宽为8位,FIFO深度为16,输入端口clk,rst_n(复位信号),write_en(写使能),read_en(读使能),data_in,输出端口为empty(空信号),full(满信号),data_out。

16.无毛刺时钟切换电路

有两个时钟,A为50Mhz,B为100Mhz,根据控制信号control,输出所需时钟信号。
控制信号采用下降沿触发防止毛刺

posted on 2023-05-07 12:57  dzw9  阅读(86)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3