реклама на сайте
подробности

 
 
> Глюк в актив ХДЛ :(, у всех поведение такое же?
Postoroniy_V
сообщение Aug 11 2006, 10:58
Сообщение #1


МедвеД Инженер I
****

Группа: Свой
Сообщений: 816
Регистрация: 21-10-04
Пользователь №: 951



нарвался на неправильное отображение значения сигналов в WAVEFORM-е
при определёном описании модулей на верилоге
Код
`timescale 1 ns / 1 ps
module test (
    input RESET,
    input CLK
    );
    
    reg ALE;
    reg[7:0] bus1DATAout, bus2DATAout, bus3DATAout, bus4DATAout;
    
    
    always @(posedge CLK)
        if (!RESET)
            begin
                ALE <=#1 0;
            end
        else
            begin
                ALE<=#1 ~ALE;
                if (ALE)
                    begin
                        bus1DATAout[7:4] <=#1 4'h0;
                        bus1DATAout[3:0] <=#1 4'ha;
                        
                        bus2DATAout[7:4] <=#1 4'h0;
                        bus2DATAout[3:0] <=#1 4'ha;
                        
                        bus3DATAout[7:4] <=#1 4'h0;
                        bus3DATAout[3:0] <=#1 4'ha;
                        
                        bus4DATAout[7:4] <=#1 4'h0;
                        bus4DATAout[3:0] <=#1 4'ha;
                        
                    end //if
                else
                    begin
                        bus1DATAout[7:4] <=#1 4'ha;
                        bus1DATAout[3:0] <=#1 4'h0;
                        
                        bus2DATAout[7:4] <=#1 4'ha;
                        bus2DATAout[3:0] <=#1 4'h0;
                        
                        bus3DATAout[7:4] <=#1 4'ha;
                        bus3DATAout[3:0] <=#1 4'h0;
                        
                        //bus4DATAout[7:4] <=#1 4'ha;
                        //bus4DATAout[3:0] <=#1 4'h0;
                        bus4DATAout<=#1 8'ha0;
                    end
            end
    
    
    initial
        while(1)
        begin
            @(ALE);
            $display("Time- %t",$time);
            $display("bus1 - 0x%x",bus1DATAout);
            $display("bus2 - 0x%x",bus2DATAout);
            $display("bus3 - 0x%x",bus3DATAout);
            $display("bus4 - 0x%x",bus4DATAout);
            $stop;
        end
    
    
endmodule

blink.gif а вот что в waveform получается
Прикрепленное изображение


если же присваивать целиком всему регистру тоесть вместо
Код
bus4DATAout[7:4] <=#1 4'ha;
bus4DATAout[3:0] <=#1 4'h0;

написать
Код
bus4DATAout<=#1 8'ha0;

то эта "мегафича" не проявляется
p.s. версия - 7.1 build 1583.SP2.09

Сообщение отредактировал Postoroniy_V - Aug 11 2006, 11:00


--------------------
Cogito ergo sum
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st August 2025 - 20:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016