首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]大家帮忙看下问题出在哪

[求助]大家帮忙看下问题出在哪

`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


这段的功能好像根本没起作用

一无所知虽说幸福  我却肯定无法满足  接受自己选择的现实  仅此而已
我知道问题出哪里了
initial
begin
addr_sel = 4'h0;
end
软件不支持 initial
然后addr_sel 在没有负值前为X态,所以导致后面的都为X态
一无所知虽说幸福  我却肯定无法满足  接受自己选择的现实  仅此而已
嘿嘿!
返回列表