【Verilog/D8】

2023年8月5日

HDBits/Cs450/counter 2bc状态机

Cs450/counter 2bc

LSB最低有效位

javascript 复制代码
module top_module(
    input clk,
    input areset,
    input train_valid,
    input train_taken,
    output reg[1:0] state
);
    reg [1:0]next_state;
    

    always@(*)
        case(state)
            0:next_state=train_valid?(train_taken?1:0):0;
            1:next_state=train_valid?(train_taken?2:0):1;
            2:next_state=train_valid?(train_taken?3:1):2;
            3:next_state=train_valid?(train_taken?3:2):3;
        endcase
	always@(posedge clk or posedge areset)
            if(areset)
                state<=2'b1;
            else 
                state<=next_state;
endmodule

异步复位

always @(posedge clk or posedge areset)

if(areset)低电平有效

always @(posedge clk or negedge areset)

if(!areset)高电平有效

note

无语住了,之前relaunch仿真就会更新,几天没用vivado,relaunch就不更新仿真,没办法打开以前工程操作

没几句的代码,就是找不到原因,shit,搞了半天是复位问题

HDBits/Cs450/history shift

javascript 复制代码
module top_module(
    input clk,
    input areset,
 
    input predict_valid,
    input predict_taken,
    output reg [31:0] predict_history,
 
    input train_mispredicted,
    input train_taken,
    input [31:0] train_history
);
    
    always @(posedge clk or posedge areset)
        if(areset)
            predict_history<=0;
    	else begin
           	if(train_mispredicted)
           		predict_history = {train_history[30:0],train_taken};
            else begin
           		if(predict_valid)
               		predict_history = {predict_history[30:0],predict_taken};
           		else
                    predict_history = predict_history;
            end
        end 
endmodule

HDBits/Cs450/gshare

相关推荐
国科安芯2 小时前
ASC8T245S 8通道电平转换设计实战:从系统架构到QFN24 Layout再到量产测试
网络·单片机·物联网·安全·fpga开发·系统架构
传感器与混合集成电路20 小时前
基于FPGA与ADC协同架构的高密度数据采集模块设计原理与应用场景分析
fpga开发·架构
Rambo.xia21 小时前
10Gbps实时图像重采样:一个FPGA项目的完整交付复盘
fpga开发
zlinear数据采集卡21 小时前
2mV纹波的代价:硬核拆解ZLinear模拟前端放大器与正负可调电源设计
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
小麦嵌入式1 天前
FPGA入门(八):一篇讲透跑马灯、闪烁灯、呼吸灯的原理与模拟波形分析
fpga开发
Rambo.xia1 天前
AXI4-Full突发传输掉数据——突发长度算错、WRAP边界、窄传输字节错位,调试一周才发现是协议理解错了
fpga开发
zlinear数据采集卡1 天前
硅片里的“自动纠错“:硬核拆解LHAMP188自动归零技术原理与三种封装的PCB布局实战
arm开发·单片机·嵌入式硬件·fpga开发·开源
Mr-pn-junction2 天前
clk_gate
单片机·嵌入式硬件·fpga开发
知行合一←_←2 天前
误码仪与时钟极性
fpga开发
upper20202 天前
vivado使用那些事之综合策略
fpga开发·vivado·vivado综合策略