Важная информация

User Tag List

Страница 31 из 191 ПерваяПервая ... 272829303132333435 ... ПоследняяПоследняя
Показано с 301 по 310 из 1901

Тема: ПЛИС и всё что с ними связано

  1. #301
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    эээ... если 3 канала мешать - делить надо на 3, чтобы быть в том же диапазоне отсчетов, что и 1 канал. т.е. все зависит от запаса по разрядности звука.
    последний вариант лучше, т.к. ничего не теряется, но надо учитывать диапазон.

  2. #301
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #302
    Veteran Аватар для AlexBel
    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,325
    Спасибо Благодарностей отдано 
    156
    Спасибо Благодарностей получено 
    126
    Поблагодарили
    76 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    эээ... если 3 канала мешать - делить надо на 3, чтобы быть в том же диапазоне отсчетов, что и 1 канал. т.е. все зависит от запаса по разрядности звука.
    последний вариант лучше, т.к. ничего не теряется, но надо учитывать диапазон.
    Пока что оставил формулу
    wire [8:0] audio = ((ay_A/2) + (ay_B/2) + (ay_C/2));

    Лидирует модель AY8910 от ILoveSpeccy - опробовано на Exolon, Lyra II и Cybernoid 2. На игрухах звук почти нормальный, а вот в "Лире" весьма плохо. Правда, у меня AY работает только на запись, может, как-то это сказывается...

    PS: В общем, теперь работает нормально или почти нормально: сделал чтение из AY выяснил, что после запуска модели необходим сброс
    Если кому интересно, фото, примерно 600кб. За качество не пинайте
    http://crazyroom.ru/files/AYFPGA1.jpg
    http://crazyroom.ru/files/AYFPGA2.jpg

    Займусь BDI...
    Последний раз редактировалось AlexBel; 06.09.2009 в 19:31.

  4. #303
    Veteran Аватар для AlexBel
    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,325
    Спасибо Благодарностей отдано 
    156
    Спасибо Благодарностей получено 
    126
    Поблагодарили
    76 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://zx.pk.ru/showthread.php?p=218628
    Веселье продолжается...

  5. #304
    Veteran Аватар для AlexBel
    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,325
    Спасибо Благодарностей отдано 
    156
    Спасибо Благодарностей получено 
    126
    Поблагодарили
    76 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ничего не понимаю, подскажите, где лопухнулся. Прикручиваю ПЗУ TRDOS к спектруму. Схема на VHDL, все работает:

    Скрытый текст

    process(nRESET,CLOCK)
    begin
    if( nRESET = '0' ) then DOS <= '0';
    elsif (CLOCK'event and CLOCK = '1') and nM1 = '0' and nRD = '0' and nMREQ = '0' and (ADRESS(15 downto 8) = "00111101") and ROMSEL = '1' then DOS <= '1';
    elsif (CLOCK'event and CLOCK = '1') and nM1 = '0' and nRD = '0' and nMREQ = '0' and (ADRESS(14) = '1' or ADRESS(15) = '1') then DOS <= '0';
    end if;
    end process;
    [свернуть]

    Схема на верилоге, нифига не работает, при выходе в тырдос происходит сброс:

    Скрытый текст

    always @(nRESET or CLOCK)
    begin
    if(~nRESET) TRDOS <= 1'b0;
    else if(CLOCK)
    begin
    if(~nM1 && ~nRD && ~nMREQ)
    begin
    if(ADRESS[15:8] == 8'b00111101) TRDOS <= 1'b1;
    else if(ADRESS[14] || ADRESS[15]) TRDOS <= 1'b0;
    end
    end
    end
    [свернуть]

    Подскажите, где в тексте верилога ошибка?
    Последний раз редактировалось AlexBel; 22.09.2009 в 21:50.

  6. #305
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    392
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тебе надо, чтобы always срабатывал по уровню CLOCK или по фронту? Если по фронту, то используй always @(posedge CLOCK) или @(negedge CLOCK), в зависимости от фронта.

  7. #306
    Veteran Аватар для AlexBel
    Регистрация
    02.01.2007
    Адрес
    Волгоград, Россия
    Сообщений
    1,325
    Спасибо Благодарностей отдано 
    156
    Спасибо Благодарностей получено 
    126
    Поблагодарили
    76 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    Тебе надо, чтобы always срабатывал по уровню CLOCK или по фронту? Если по фронту, то используй always @(posedge CLOCK) или @(negedge CLOCK), в зависимости от фронта.
    Пробовал до этого - тоже не работает. Самое интересное, что когда подключал AY на FPGA, то его регистры совершенно защелкивались по negedge и все работало...

  8. #307
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от AlexBel Посмотреть сообщение
    Подскажите, где в тексте верилога ошибка?
    Если дословно перевести VHDL то будет так
    Код:
    always @ (RESET or posedege CLK)
    if (!RESET) TRDOS = 0;
    else
      if (ADDR[15:8]==8'h3D & ~(nM1 | nRD | nMREQ)  & ROMSEL) TRDOS = 1;
      else if (ADDR[15:14]!=0 & ~(nM1 | nRD | nMREQ)) TRDOS = 0;

  9. #308
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    392
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexBel Посмотреть сообщение
    Пробовал до этого - тоже не работает. Самое интересное, что когда подключал AY на FPGA, то его регистры совершенно защелкивались по negedge и все работало...
    А симулятором квартусовским ты не пользуешься? Клевая штука.

  10. #309
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от AlexBel Посмотреть сообщение
    else if(CLOCK)
    на не синхронной логике это в этом контексте коряво, а при синхронной (в always posedge CLOCK) не корректно, так как CLOCK может быть как 0 так и 1
    Последний раз редактировалось ZEK; 22.09.2009 в 23:32.

  11. #310
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    392
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А кстати да, куда делся ROMSEL? в VHDL он есть, в Verilog'овском коде его уже нет.

Страница 31 из 191 ПерваяПервая ... 272829303132333435 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. ДВК (и всё, что с ними связано)
    от Grand в разделе ДВК, УКНЦ
    Ответов: 4534
    Последнее: 04.04.2024, 23:32
  2. Ответов: 1187
    Последнее: 22.12.2023, 20:53
  3. PAL/GAL и все что с ними связано.
    от Mick в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 487
    Последнее: 01.12.2023, 00:30
  4. SMUC на дискретах и ПЛИС
    от spensor в разделе Scorpion
    Ответов: 844
    Последнее: 15.05.2023, 12:31
  5. Вопрос по ПЛИС
    от Zloy в разделе Несортированное железо
    Ответов: 23
    Последнее: 17.10.2015, 17:12

Ваши права

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