//---Register WR and RD and Reset---
由于刚开始在学习CPLD,使用了reg类型。在给reg类型赋初值时发现了一些问题于是开始了一个测试,测试主要代码如下:
//内部寄存器不供外部器件读写
reg [7:0] reg_test = 8'b00011010;
reg reg_test1;
reg reg_test2;
//只供外部器件进行读操作
reg [7:0] reg_test3 = 8'b01011010;
reg [7:0] reg_test4;
reg [7:0] reg_test5;
//供外部器件发生读写操作
reg [7:0] reg_test6 = 8'b11011010;
reg [7:0] reg_test7;
reg [7:0] reg_test8;
//带复位的读写逻辑
always @ (nreset or cs or nwe or noe)
begin
if (!nreset)
begin
reg_test4 <= 8'b01010010;
reg_test7 <= 8'b11010001;
end
else if ((~nwe) & (noe) & (~cs))
case(addr)
8'b0000_0111: reg_test6 <= data_bus;
8'b0000_1000: reg_test7 <= data_bus;
8'b0000_1001: reg_test8 <= data_bus;