User Tag List

Страница 87 из 273 ПерваяПервая ... 838485868788899091 ... ПоследняяПоследняя
Показано с 861 по 870 из 2727

Тема: Цифровая археология: 1801 и все-все-все

  1. #861

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В реале данные выставляются на одном полутакте с DOUT, поэтому лучше задержать на полтакта активацию pin_ad_ena.
    Нет, просто там была частота высокая (5.0МГц), задержки в кучу смешались.

    Диаграмма при 2.5МГц



    [свернуть]


    При более низкой частоте видно что данные на шине появляются при высоком CLC (после фронта), а nDOUT активируется при низком CLC (после спада). И это правильно для МПИ, ГОСТ 26765.51-86 требует хотя бы 25 нс предустановленных данных перед спадом nDOUT. На диаграмме 100МГц отсчеты, поэтому одно деление - 10нс, требование стандарта успешно выполняется.

  2. #862

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    обновление 1.4D
    В модели ASync фаза генератора тактовой частоты не исправлена.

    Правильный код такой:

    Код:
    //_____________________________________________________________________________
    //
    // Clock generator
    //
    initial
    begin
       ena = 1;
       forever
          begin
             clk = 0;
             #(`SIM_CONFIG_CLOCK_HPERIOD);
             clk = 1;
             #(`SIM_CONFIG_CLOCK_HPERIOD);
          end
    end
    Последний раз редактировалось Patron; 14.12.2015 в 17:05.

  3. #863

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В модели ASync фаза генератора тактовой частоты не исправлена.
    Да оно непринциально, но ОК, внесу.
    В модели Wsync частота с PLL берется, там на начальную фазу повлиять нет возможности.
    Последний раз редактировалось Vslav; 14.12.2015 в 16:56.

  4. #864

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    При более низкой частоте видно что данные на шине появляются при высоком CLC (после фронта), а nDOUT активируется при низком CLC (после спада). И это правильно.
    Модель ASync подтверждает:


  5. #865

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да, Async правильно работает, там qreg является латчем. С исправлением на clk_p в регистре qreg, Qsync тоже так начинает работать, только Fmax падает (времени такта АЛУ не хватает чтобы результат на qreg дать). В Async коррекцию внесу, в Wsync - оно там не нужно, нет Qbus.
    Последний раз редактировалось Vslav; 14.12.2015 в 17:06.

  6. #866

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Да, Async правильно работает, там qreg является латчем.
    Значит ли это, что методически правильно вычислять значение qreg на каждом полутакте ?

    Для CPP-модели сто вёрст не крюк, поэтому лишнее вычисление qreg на быстродействие модели не повлияет.
    Последний раз редактировалось Patron; 14.12.2015 в 17:33.

  7. #867

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Значит ли это, что методически правильно вычислять значение qreg на каждом полутакте ?
    Для Async модели надо вычислять значения всех величин по любому изменению входных сигналов, в том числе и по тактовому. И вычислять итеративно в цикле до достижения стабильного неизменного состояния выходных переменных.

  8. #868

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Для Async модели надо вычислять значения всех величин по любому изменению входных сигналов, в том числе и по тактовому.
    Но CPP-модель основана на модели Qsync, поэтому вопрос про неё. Не зря ведь там qreg вычислялся именно по P-фронту.

    Другими словами вопрос в том, справедливы ли следующие утверждения для модели Qsync:

    1. Вычисление qreg по P-фронту имеет смысл.
    2. Вычисление qreg по N-фронту имеет смысл.

  9. #869

    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    759
    Поблагодарили
    353 сообщений
    Mentioned
    88 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Но CPP-модель основана на модели Qsync, поэтому вопрос про неё. Не зря ведь там qreg вычислялся именно по P-фронту.
    До недавнего анализа диаграммы записи qreg защелкивалось по clk_n, видимо, когда портировалось это обеспечило хорошую прибавку к Fmax. Вы выложили диаграмму записи, я начал думать что Вас в ней смущает, увидел что данные перед спадом nDOUT выглядят не очень, посмотрел на реальный процессор и решил защелкивать qreg по clk_p, это обеспечивает правильные потакта опережения данных перед nDOUT, но снижает Fmax проекта. Поскольку для синтеза ветка Async не является основным проектом, на Fmax этой ветки можно подзабить. Пока это исправление в релиз не внесено (хотя тест 401 уже прошло). Для Wsync ничего не меняется, там Fmax > 100MГц остается.

    Цитата Сообщение от Patron Посмотреть сообщение
    1. Вычисление qreg по P-фронту имеет смысл.
    2. Вычисление qreg по N-фронту имеет смысл.
    В исправленной версии qreg изменяется только по фронту clk_p, тут имеет смысл только eval_p();
    В неисправленной (предыдущей) версии qreg изменяется только по фронту clk_n, тут имеет смысл только eval_n();

    - - - Добавлено - - -

    Версия 1.4e
    Внес изменения и потестировал Async/qreg, поправил тактовую в тестбенче, окончательно разложил файлы в каталоги согласно шаблона OpenCores - оно хоть и немного громоздко, но обладает самодокументируемостью.

  10. #870

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,806
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    теперь можно перейти в каталог симуляции и запустить в ModelSim файл run.do
    После запуска run.do шаг симуляции устанавливается в 100 ps - приходится каждый раз изменять его вручную на 500 ns.


Страница 87 из 273 ПерваяПервая ... 838485868788899091 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 7
    Последнее: 28.06.2014, 17:50
  2. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  3. ЦИФРОВАЯ МУЗЫКА НА ZX
    от AAA в разделе Музыка
    Ответов: 98
    Последнее: 18.09.2011, 22:33
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Цифровая музыка от Вадима Ермеева
    от zxmike в разделе Музыка
    Ответов: 2
    Последнее: 06.08.2007, 23:13

Метки этой темы

Ваши права

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