【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 小时前
Ubuntu Linux SD卡分区操作
嵌入式硬件·ubuntu·fpga开发
FPGA_Linuxer2 小时前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
风_峰16 小时前
Petalinux相关配置——ZYNQ通过eMMC启动
嵌入式硬件·ubuntu·fpga开发
风_峰16 小时前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
碎碎思17 小时前
一块板子,玩转 HDMI、USB、FPGA ——聊聊开源项目 HDMI2USB-Numato-Opsis
fpga开发
ooo-p21 小时前
FPGA学习篇——Verilog学习Led灯的实现
学习·fpga开发
嵌入式-老费21 小时前
Zynq开发实践(FPGA之选择开发板)
fpga开发
风_峰1 天前
PuTTY软件访问ZYNQ板卡的Linux系统
linux·服务器·嵌入式硬件·fpga开发
电子凉冰2 天前
FPGA入门-状态机
fpga开发
Aczone282 天前
硬件(十)IMX6ULL 中断与时钟配置
arm开发·单片机·嵌入式硬件·fpga开发