`define LED_DISP 2'b01
`define LCD_245_CS 2'b11
`define LED_DISP_L 4'h2
`define LCD_L 4'h1
module lcd(MCU_data_address,led,ale,CS_P1,L245cs);
input [7:0] MCU_data_address;
output [5:0] led;
input ale;
input [1:0]CS_P1;
output L245cs;
reg [7:0]MCU_data_reg;
reg [3:0]addr_sel;
reg [5:0]LED_DISP_data;
reg L245cs_reg;
initial
begin
addr_sel = 4'h0;
end
always @(CS_P1)
begin
case(CS_P1)
`LCD_245_CS :addr_sel = `LCD_L;
`LED_DISP :addr_sel = `LED_DISP_L;
endcase
end
always @(addr_sel)
begin
case(addr_sel)
`LED_DISP_L ED_DISP_data = MCU_data_address;
`LCD_L 245cs_reg = 0;
default :
begin
L245cs_reg = 1;
LED_DISP_data = 6'b101010;
end
endcase
end
assign L245cs = L245cs_reg;
assign led = LED_DISP_data;
endmodule
我就是想当CS_P1的2个端口都为高时,L245cs为0,其他情况L245cs都为1
我用MAX II 仿真,发现L245cs一直都是X状态
default :
begin
L245cs_reg = 1;
LED_DISP_data = 6'b101010;
end
这段的功能好像根本没起作用
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |