module password_lock( input wire clk, // 时钟信号 input wire rst, // 复位信号 input wire [9:0] sw, // 拨码开关输入 output reg [3:0] seg, // 数码管输出 output reg lock // 锁的开闭状态输? ); reg [3:0] password [0:3]; // 存储输入的密码 reg [3:0] inputnum; // 存储当前输入的数字 reg [3:0] display [0:3]; // 存储在数码管上显示的密码 reg [3:0] deletenum; // 存储要删除的数字 reg [1:0] deletecount; // 存储已删除的数字个数 reg [3:0] universalpassword = 1234; // 万能密码 reg [1:0] inputcount; // 存储已输入的数字个数 reg [1:0] displaycount; // 存储在数码管上显示的数字个数 reg [1:0] i; // 循环计数器 // 初始化 initial begin password[0] = 4'b0000; password[1] = 4'b0000; password[2] = 4'b0000; password[3] = 4'b0000; inputnum = 4'b0000; display[0] = 4'b0000; display[1] = 4'b0000; display[2] = 4'b0000; display[3] = 4'b0000; deletenum = 4'b0000; deletecount = 2'b00; inputcount = 2'b00; display_count = 2'b00; i = 2'b00; lock = 1'b0; end Error (10161): Verilog HDL error at keshe11.v(31): object "display_count" is not declared这个错误怎么改
时间: 2023-11-22 17:55:52 浏览: 96
gen_clk.rar_CLK GEN_clk FPGA_gen_clk_vhdl 时钟信号_时钟信号
你需要将 "display_count" 改为 "displaycount",即将下划线改为驼峰式命名。因为你在声明变量时使用了驼峰式命名,所以在其他地方使用该变量时也需要使用相同的命名方式。修改后的代码如下:
```verilog
module password_lock(
input wire clk, // 时钟信号
input wire rst, // 复位信号
input wire [9:0] sw, // 拨码开关输入
output reg [3:0] seg, // 数码管输出
output reg lock // 锁的开闭状态输出
);
reg [3:0] password [0:3]; // 存储输入的密码
reg [3:0] inputnum; // 存储当前输入的数字
reg [3:0] display [0:3]; // 存储在数码管上显示的密码
reg [3:0] deletenum; // 存储要删除的数字
reg [1:0] deletecount; // 存储已删除的数字个数
reg [3:0] universalpassword = 1234; // 万能密码
reg [1:0] inputcount; // 存储已输入的数字个数
reg [1:0] displaycount; // 存储在数码管上显示的数字个数
reg [1:0] i; // 循环计数器
// 初始化
initial begin
password[0] = 4'b0000;
password[1] = 4'b0000;
password[2] = 4'b0000;
password[3] = 4'b0000;
inputnum = 4'b0000;
display[0] = 4'b0000;
display[1] = 4'b0000;
display[2] = 4'b0000;
display[3] = 4'b0000;
deletenum = 4'b0000;
deletecount = 2'b00;
inputcount = 2'b00;
displaycount = 2'b00;
i = 2'b00;
lock = 1'b0;
end
```
阅读全文