锅巴不加盐
码龄7年
关注
提问 私信
  • 博客:250,137
    社区:39
    250,176
    总访问量
  • 104
    原创
  • 75,752
    排名
  • 13,322
    粉丝
  • 866
    铁粉
  • 学习成就

个人简介:一天学一点

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2018-05-16
博客简介:

qq_42224089的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    2,162
    当月
    72
个人成就
  • 获得758次点赞
  • 内容获得116次评论
  • 获得2,367次收藏
  • 代码片获得3,433次分享
创作历程
  • 5篇
    2024年
  • 77篇
    2023年
  • 20篇
    2022年
  • 1篇
    2021年
  • 1篇
    2019年
成就勋章
TA的专栏
  • 通信相关
    1篇
  • 协议篇
    4篇
  • Xilinx原语
    1篇
  • 牛客刷题
    57篇
  • HDLBits
  • FPGA学习
    11篇
  • Verilog基础语法篇
    7篇
  • 时序约束篇
    2篇
  • 工具篇
    4篇
  • Xilinx官方文档学习
    1篇
  • FPGA Design Tips
    1篇
  • 手撕代码
    4篇
  • Quartus问题解决
    2篇
  • Matlab学习
    4篇
兴趣领域 设置
  • 网络与通信
    网络协议5G
  • 硬件开发
    fpga开发
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Verilog基础语法——阻塞赋值与非阻塞赋值、组合逻辑与时序逻辑

本文介绍了阻塞赋值与非阻塞赋值、组合逻辑与时序逻辑的基本概念和用法,以及两两组合得到4种不同的电路描述风格。
原创
发布博客 2024.05.20 ·
2659 阅读 ·
28 点赞 ·
4 评论 ·
34 收藏

Verilog基础语法——条件语句if-else与case

在Verilog语法中,常用的条件语句有if-else语句和case语句,用于判断条件是否为真,并执行判断条件后面的表达式。
原创
发布博客 2024.05.16 ·
4520 阅读 ·
16 点赞 ·
0 评论 ·
31 收藏

Verilog基础语法——状态机(类型、写法、状态编码方式)

在FPGA设计过程,经常会设计状态机用于控制整个硬件电路的工作进程,也称为有限状态机(Finite State Machine,FSM)。本文中对状态机的类型、写法以及状态编码方式进行介绍。
原创
发布博客 2024.04.30 ·
7479 阅读 ·
51 点赞 ·
0 评论 ·
156 收藏

Verilog基础语法——parameter、localparam与`define

在本文中,我们学习了Verilog基础语法中三种不同的参数定义方式——localparam、parameter与`define,其中,`define定义的参数作用范围最广,且支持用于模块之间的参数传递;localparam作用范围仅为模块内部,且不支持参数传递;而parameter是两者的折中,作用范围为模块内部,但是支持参数传递。
原创
发布博客 2024.04.25 ·
5141 阅读 ·
24 点赞 ·
0 评论 ·
56 收藏

FPGA设计篇——波形绘制软件

在FPGA设计过程中,经常需要编写设计文档,其中,不可缺少的就是仿真波形的绘制,可以直接截取Vivado或者Modelsim平台实际仿真波形,但是往往由于信号杂乱无法凸显重点。因此,通过相应软件绘制波形,并予以标注,会更加直观。目前,常用的波形绘制软件有:Visio、TimeGen、WaveDrom等,本文主要介绍这三款软件波形图的绘制。
原创
发布博客 2024.04.25 ·
4143 阅读 ·
21 点赞 ·
0 评论 ·
35 收藏

CRC校验原理与FPGA实现(含推导过程)

本文介绍了CRC校验中的基本概念,包括CRC校验模型、生成多项式、校验码宽度、数据宽度、寄存器初始值等。同时推导了串行CRC校验与并行CRC校验的公式与相应的电路,包括长除法、线性移位寄存器法设计的串行CRC校验电路与由线性移位寄存器法校验电路推导得到的并行CRC校验电路,我们还给出了相应的电路对应的RTL代码,并进行功能验证,验证通过。
原创
发布博客 2023.09.22 ·
5678 阅读 ·
39 点赞 ·
14 评论 ·
121 收藏

牛客网Verilog刷题——VL56

实现4bit无符号数流水线乘法器设计。
原创
发布博客 2023.08.01 ·
1308 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL55

【代码】牛客网Verilog刷题——VL55。
原创
发布博客 2023.08.01 ·
1160 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL54

当写数据指示信号write_en有效时,通过写地址信号write_addr 和写数据write_data,向对应位置写入相应的数据。在题目中,并未指出数据的读写操作是同步的还是异步的,从题目中给出的时序图看,题目要求在读使能有效的该时钟内读出数据,比如在读使能read_en有效时,地址为0,立刻读出地址0中的数据1,地址为1,则立刻读出地址1中的数据2,可见时序图要求的是异步读,但是在程序中,我们设置为同步读,仿真也是通过的(个人觉得题目有问题,没有指出读写是同步还是异步,仿真也有问题)。
原创
发布博客 2023.08.01 ·
881 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

牛客网Verilog刷题——VL53

根据读地址的位宽(为7),我们可以知道该单端口RAM的深度为128,所以该RAM是一个宽度为4,深度为128的单端口RAM。需要注意的是:该RAM非写即读,即enb=1,则为写操作;enb=0,则为读操作。设计一个单端口RAM,它有: 写接口,读接口,地址接口,时钟接口和复位;存储宽度是4位,深度128。注意rst为低电平复位。模块的接口示意图如下。
原创
发布博客 2023.08.01 ·
994 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL52

请编写一个十进制计数器模块,当mode信号为1,计数器输出信号递增,当mode信号为0,计数器输出信号递减。每次到达0,给出指示信号zero。
原创
发布博客 2023.08.01 ·
1041 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL51

请编写一个十六进制计数器模块,计数器输出信号递增每次到达0,给出指示信号zero,当置位信号set 有效时,将当前输出置为输入的数值set_num。
原创
发布博客 2023.08.01 ·
1660 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL50

请编写一个模块,实现简易秒表的功能:具有两个输出,当输出端口second从1-60循环计数,每当second计数到60,输出端口minute加一,一直到minute=60,暂停计数。在这里需要注意的是:second在复位时是0,也就是说第一个minute的计数是从0计数到60,而后面second计数到60后,再进行计数时,是从1计数到60。
原创
发布博客 2023.07.31 ·
457 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL49

由于快时钟域clk_fast的时钟频率大于慢时钟域clk_slow的时钟频率,快时钟域的脉冲信号可能无法被慢时钟域采样到,因此需要把快时钟域clk_fast的脉冲信号进行展宽,然后再将展宽后的快时钟域下的脉冲信号用“打两拍”的方法同步到慢时钟域,这里存在一个问题:快时钟域的脉冲信号展宽要展宽为几个时钟宽度?(2)将展宽后的快时钟域脉冲信号signal_pulse_fast_extend同步到慢时钟域clk_slow(打两拍),得到signal_pulse_fast_extend_f2s_2;
原创
发布博客 2023.07.31 ·
602 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL48

本题考察的就是多比特跨时钟域处理,但是题目中没有指出是快时钟域到慢时钟域还是慢时钟域到快时钟域,只是明确指出data_en至少保持3个clk_b时钟周期,data_in至少保持10个clk_b时钟周期,也就是说,时钟域clk_a下的信号同步到时钟域clk_b下,在clk_b的上升沿处,肯定能被采集到,不会出现像我们常见的快时钟域到慢时钟域处理中,出现的慢时钟域采集不到快时钟域信号的情况,所以本题只需要简单的将单比特的使能信号进行跨时钟域处理后,再作为多比特跨时钟域处理打拍中的使能信号即可。
原创
发布博客 2023.07.31 ·
885 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL47

注意:牛客中很多题目与答案不符,本题要求设计一个格雷码计数器,没有说明具体设计要求。实际上本题的设计要求是:初始化格雷码计数器输出为0值,然后将格雷码转为二进制码,然后二进制码计数器加以后再转为格雷码进行输出,要求格雷码计数器输出两个时钟周期发生一次变化。所以格雷码计数器设计中应该包含三个部分:格雷码转二进制、二进制计数器、二进制转格雷码。实现4bit位宽的格雷码计数器。
原创
发布博客 2023.07.31 ·
843 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL46

同步FIFO中,读操作与写操作均在同一时钟域下进行,不涉及跨时钟域操作,所以只需要用一个计数器来计数当前FIFO中存储的实际数据个数(写入数据个数减去读出数据个数),再用于判断产生空满信号即可。根据题目提供的双口RAM代码和接口描述,实现同步FIFO,要求FIFO位宽和深度参数化可配置。电路的接口如下图所示。双口RAM代码如下,可在本题答案中添加并例化此代码。
原创
发布博客 2023.07.31 ·
826 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL45

异步FIFO设计中,一般分别设计一个读地址指针与写地址指针,用于判断当前FIFO的空满。由于读操作与写操作不再同一时钟域下,所以需要做跨时钟域处理,而读地址指针与写地址指针是多比特信号,跨时钟域处理一般转为格雷码后再进行跨时钟域传输,这是由于格雷码形式的地址指针每次加1时,只有1比特发生改变,这样就转换为单比特跨时钟域处理的问题,单比特跨时钟域处理可以用打两拍的方式进行处理。请根据题目中给出的双口RAM代码和接口描述,实现异步FIFO,要求FIFO位宽和深度参数化可配置。电路的接口如下图所示。
原创
发布博客 2023.07.31 ·
582 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL44

如图所示为两种状态机中的一种,请根据状态转移图写出代码,状态转移线上的0/0等表示的意思是过程中data/flag的值。两段式状态机中,现态curr_state与次态next_state均为寄存器类型变量,现态curr_state()用组合逻辑,表示下一个状态;而数据的输出也是使用组合逻辑,这也是和三段式状态机的区别之处。)用时序逻辑,表示当前状态;次态next_state(1、 必须使用对应类型的状态机。2、 使用二段式描述方法。注意rst为低电平复位。
原创
发布博客 2023.07.31 ·
496 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

牛客网Verilog刷题——VL43

如图所示为两种状态机中的一种,请根据状态转移图写出代码,状态转移线上的0/0等表示的意思是过程中data/flag的值。三段式状态机中,现态curr_state与次态next_state均为寄存器类型变量,现态curr_state(2、 使用三段式描述方法,输出判断要求要用到对现态的判断。)用时序逻辑,表示当前状态;次态next_state(用时序逻辑,输出一些使用状态机控制的数据等。1、 必须使用对应类型的状态机。)用组合逻辑,表示下一个状态;注意rst为低电平复位。
原创
发布博客 2023.07.31 ·
460 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多