keyscan_tb

`timescale 1ns/1ps

module Rom_tb;

reg clk;

reg rst_n;

reg 4:0 num;

reg 3:0 row;

wire 3:0 col;

wire 7:0 q;

initial begin

clk <= 1'b1;

rst_n <= 1'b0;

#20 rst_n <= 1'b1;

#100 num <= 5'h1;

#500 num <= 5'h1F;

#10000 num <= 5'h2;

#500 num <= 5'h1F;

#10000 num <= 5'h3;

#500 num <= 5'h1F;

#10000 num <= 5'h4;

#500 num <= 5'h1F;

end

always #5 clk = !clk;

Rom RomInst(

.clk (clk),

.rst_n (rst_n),

.row (row),

.col (col),

.q (q)

);

always @ (*)

begin

case (num)

5'h0: row <= {1'b1, 1'b1, 1'b1, col0};

5'h1: row <= {1'b1, 1'b1, 1'b1, col1};

5'h2: row <= {1'b1, 1'b1, 1'b1, col2};

5'h3: row <= {1'b1, 1'b1, 1'b1, col3};

5'h4: row <= {1'b1, 1'b1, col0, 1'b1};

5'h5: row <= {1'b1, 1'b1, col1, 1'b1};

5'h6: row <= {1'b1, 1'b1, col2, 1'b1};

5'h7: row <= {1'b1, 1'b1, col3, 1'b1};

5'h8: row <= {1'b1, col0, 1'b1, 1'b1};

5'h9: row <= {1'b1, col1, 1'b1, 1'b1};

5'hA: row <= {1'b1, col2, 1'b1, 1'b1};

5'hB: row <= {1'b1, col3, 1'b1, 1'b1};

5'hC: row <= {col0, 1'b1, 1'b1, 1'b1};

5'hD: row <= {col1, 1'b1, 1'b1, 1'b1};

5'hE: row <= {col2, 1'b1, 1'b1, 1'b1};

5'hF: row <= {col2, 1'b1, 1'b1, 1'b1};

default: row <= {1'b1, 1'b1, 1'b1, 1'b1};

endcase

end

defparam RomInst.KeyScanInst.T10ms = 5;

endmodule

相关推荐
泡泡糖的中文规格书28 分钟前
HDLbits 1.2 学习笔记
fpga开发·学习笔记·verilog
樱木花道長1 小时前
AMD Ross 深度系列 5:实战演示 —— MATLAB 到 FPGA,edge-detection 边缘检测全流程
fpga开发
吉他英雄一里1 天前
FPGA--RAM
fpga开发
szxinmai主板定制专家1 天前
储能 EMS、微网控制器选型:RK3588、RK3576、RK3568+FPGA 怎么选?多网、多 CAN、EMC 设计权衡
人工智能·深度学习·机器学习·fpga开发·工业网关·rk3576·电力网关
XMAIPC_Robot1 天前
ARM+FPGA+AI船舶/工业自动化控制器EMC测试等级解析(IEC60533/IEC60945)
arm开发·人工智能·fpga开发·zynq·arm+fpga·rk3588+fpga
ALINX技术博客1 天前
ALINX 亮相 2026 工博会,聚焦 FPGA 行业应用场景
ai·fpga开发·射频工程
星夜离尘562 天前
FPGA 复位回归实验:双时钟停钟、释放中重入与消费端首拍自检
fpga开发
szxinmai主板定制专家2 天前
ZYNQ 数据采集方案踩坑总结:电力强电磁干扰、工业现场多协议适配优化
运维·人工智能·fpga开发·机器人·zynq
幻智星科技2 天前
一个开源的纯FPGA网口采集卡
网络协议·fpga开发·udp
bobuddy2 天前
硬件加速三件套:emulator-FPGA 原型-云仿真
fpga开发