牛客390428302号
牛客390428302号
全部文章
分类
归档
标签
去牛客网
登录
/
注册
牛客390428302号的博客
全部文章
(共23篇)
题解 | #数据串转并电路#
容易出错的地方:!valid_a 的时候,计数i 不是归0 而是保持原来的技术 `timescale 1ns/1ns module s_to_p( input clk , input rst_n , input valid_a , input d...
2023-01-22
0
285
题解 | #输入序列不连续的序列检测#
yeah `timescale 1ns/1ns module sequence_detect( input clk, input rst_n, input data, input data_valid, output reg match ); reg [2:0] state; reg ...
2023-01-18
0
322
题解3 | #输入序列连续的序列检测#
修正一下题解1题解1只能判断一个序列,下一个序列会空一拍才开始存数,导致会漏存下一个序列的第一个数,进而导致错位更正为当i更新为8后,下一拍进入else直接将i更新为1,同时存入上一拍的a的值 `timescale 1ns/1ns module sequence_detect( input clk...
2023-01-10
0
304
题解1 | #输入序列连续的序列检测#
用了8位一组缓存再判断。由于用了高位大序号[7:0] a_temp 和正序if循环 a_temp[i] <=a,a在vector里面会从低位往高位存,与题目的序列顺序刚好相反,判断的时候要注意一下条件,将序列反过来写。参考组友写法,用拼接的方式可以省下if 循环和 一个复位,详见题解2。 `t...
2023-01-10
0
329
题解2 | #边沿检测#
虽然有点复杂,但是实现了快速变化的a的边沿检测。思路:1. 首先用两个reg 值rise_cnt/down_cnt 记录a是否发生变化(always @(a)),一旦发生变化值为1.在clk信号到来的时候,看rise_cnt / down_cnt 的值,若其为1,则说明a经历了上升或下降,则对应输出...
2023-01-08
0
353
题解 | #边沿检测#
这样会漏掉在一个周期内有上升和下降的信号,不过说a缓慢变化,那就可以忽略这种信号了 `timescale 1ns/1ns module edge_detect( input clk, input rst_n, input a, output reg rise, output reg d...
2023-01-08
0
278
题解 | #ROM的简单实现#
好家伙,只要初始化了rom的值,addr一变data立刻变化,不是等clk上升沿才变化的,所以data的表达式一定是个组合逻辑且不能放在always+clk里。在always 时序电路里对rom进行初始化后数值就不变了 (如果改成ram可以根据时钟写入数据,相同一个addr要在写入新数据后data才...
2023-01-08
1
518
题解 | #根据状态转移图实现时序电路#
把真值表搞出来,分别写出Q1*/Q0*/Y 的表达式。 `timescale 1ns/1ns module seq_circuit( input C , input clk , input ...
2023-01-07
0
302
题解1 | #根据状态转移图实现时序电路#
状态机还是好写的 `timescale 1ns/1ns module seq_circuit( input C , input clk , input rst_n, outpu...
2023-01-07
0
300
题解2 | #根据状态转移表实现时序电路#
根据状态机写 `timescale 1ns/1ns module seq_circuit( input A , input clk , input rst_n, ...
2023-01-07
0
337
首页
上一页
1
2
3
下一页
末页