User Tag List

Показано с 1 по 10 из 282

Тема: AZ для БК-0010(01) и БК-0011М

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #10

    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,245
    Спасибо Благодарностей отдано 
    343
    Спасибо Благодарностей получено 
    369
    Поблагодарили
    261 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Мне помогало никогда не проверять на то значение, которое onehot.
    тут речь немного о другом - изначально автомат обычный:

    Код:
    localparam STATE_STM_WAIT	= 3'd0; 	// ждем =0 на STM_U_QBUS_IN_L
    localparam STATE_STM_CLANK1= 3'd1; 	// антизвон
    localparam STATE_STM_CLANK2= 3'd2; 	// антизвон
    localparam STATE_STM_CLANK3= 3'd3; 	// антизвон
    localparam STATE_STM_FLAG	= 3'd4;	// ждем установки флагов операции
    localparam STATE_STM_DATA	= 3'd5;	// запоминаем данные для команды
    localparam STATE_STM_OPER	= 3'd6;	// выполняем операцию
    localparam STATE_STM_END	= 3'd7;	// ждем завершения - снятия синка 
    
    
    reg [2:0] state_stm			/* synthesis syn_encoding="safe" */;
    reg [2:0] next_state_stm;	
    
     
    always @ (posedge CLK)
    begin
    	state_stm<=next_state_stm;
    end
    //
    
    wire stm_sync=STM_DA_OUT[8];
    
    always @ *
    begin
    	case (state_stm)
    		STATE_STM_WAIT:
    			if(STM_U_QBUS_IN_L==0)
    				next_state_stm=STATE_STM_CLANK1;
    			else
    				next_state_stm=STATE_STM_WAIT;
    				
    		STATE_STM_CLANK1:
    				next_state_stm=STATE_STM_CLANK2;
    		
    ....
    			
    		default:
    				next_state_stm=STATE_STM_WAIT;
    	endcase
    end
    но оптимизатор переделывает автомат в onehot

    и если работать без /* synthesis syn_encoding="safe" */;
    и так как управляющие сигналы - асинхронщина, то шанс влететь в запрещенное состояние становится очень большим

    соответственно можно или сказать
    /* synthesis syn_encoding="safe" */; - те сделать защитную логику

    или вообще указать тип кодирования явно


    да, собирая грабли я таки вычистил тормозящие куски и теперь оперативка на 130MHz полноценно пашет
    Последний раз редактировалось SuperMax; 08.06.2021 в 13:07.
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Эмулятор БК-0010-01, БК-0011 и БК-0011М
    от Doronetty в разделе Эмуляторы отечественных компьютеров
    Ответов: 255
    Последнее: 23.12.2025, 20:28
  2. Режим совместимости БК-0011М с БК-0010
    от Oleg N. Cher в разделе БК-0010/0011
    Ответов: 62
    Последнее: 19.12.2021, 12:03
  3. Отличия БК-0011М от БК-0010(01)?
    от nzeemin в разделе БК-0010/0011
    Ответов: 22
    Последнее: 30.03.2021, 18:47
  4. Ответов: 37
    Последнее: 16.04.2019, 21:21
  5. Ответов: 66
    Последнее: 03.05.2014, 14:58

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •