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

User Tag List

Показано с 1 по 7 из 7

Тема: AHDL - брутально...

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru Аватар для fan
    Регистрация
    11.02.2005
    Адрес
    Москва
    Сообщений
    3,789
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию AHDL - брутально...

    Title "Мультиплексор который ни хе не пашет...";
    Subdesign RAM_SEL_TEST2

    (
    nRD , nCS : input;
    VIDEO_ACCESS : input;
    --CPU_ACCESS : input;

    nVRAM_RD , nVRAM_CS : output;
    )

    Variable

    VA_BUF_OUT[1..0] : TRI; -- Буфер выбора VRAM и выбора адресов VRAM видео контроллером .
    CPU_VRAM_SEL_BUF[1..0] : TRI; -- Буфер выбора VRAM и экрана процессором .

    --------------------------------------------------------------------------------
    Begin
    --================================================== ============================

    VA_BUF_OUT[].oe=VIDEO_ACCESS; -- (активный высокий) Активность ВК (чтение в регистры ВК).
    VA_BUF_OUT[0].in=GND; nVRAM_CS=VA_BUF_OUT[0].out; -- Выбор VRAM видео контроллером (выходной пин).
    VA_BUF_OUT[1].in=GND; nVRAM_RD=VA_BUF_OUT[1].out; -- Чтение из VRAM видео контроллером (выходной пин).

    --================================================== ============================
    CPU_VRAM_SEL_BUF[].oe=NOT(VIDEO_ACCESS); -- (активный высокий) Активность CPU .
    CPU_VRAM_SEL_BUF[0].in = nCS ; nVRAM_CS = CPU_VRAM_SEL_BUF[0].out; -- Выбор VRAM .
    CPU_VRAM_SEL_BUF[1].in = nRD ; nVRAM_RD = CPU_VRAM_SEL_BUF[1].out; -- Чтение VRAM .

    end;
    ================================================== =======
    С выходов всё время высокий уровень !!!!!
    Если оставить один из буферов то всё ОК ! (на выходе низкий/высой/Z все как надо).

    Тажа хрень записанная через условие фурычит как надо (на выходе низкий/высой).

    Собсно вопрос - почему яйца в профиль не одни и теже ????? %(
    Вложения Вложения
    Последний раз редактировалось fan; 30.07.2007 в 17:59.
    Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
    REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/

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

  3. #2
    Veteran Аватар для molodcov_alex
    Регистрация
    13.03.2006
    Адрес
    Колпино
    Сообщений
    1,250
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня вообще не компилится... (Мол низя подключать nVRAM_RD и nVRAM_CS к двум разным источникам)

    А почему бы не пользовать lpm_mux?
    Код:
    Title "Мультиплексор который пашет...";
    include "lpm_mux.inc";
    
    Subdesign RAM_SEL_TEST2(
    nRD , nCS : input;
    VIDEO_ACCESS : input;
    --CPU_ACCESS : input;
    
    nVRAM_RD , nVRAM_CS : output;
    )
    
    Begin
    (nVRAM_RD, nVRAM_CS)=lpm_mux(.data[][]=((GND,GND),(nRD,nCS)),.sel[]=VIDEO_ACCESS) 
       WITH (LPM_WIDTH=2, LPM_SIZE=2, LPM_WIDTHS=1);
    end;
    Последний раз редактировалось molodcov_alex; 30.07.2007 в 17:16. Причина: Очепятки ;)
    ZX Spectrum forever!

  4. #3
    Guru Аватар для fan
    Регистрация
    11.02.2005
    Адрес
    Москва
    Сообщений
    3,789
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от molodcov_alex Посмотреть сообщение
    У меня вообще не компилится... (Мол низя подключать nVRAM_RD и nVRAM_CS к двум разным источникам)
    Возможно я чёто прибил убирая лишнии коментарии , ща перепостю и оригинал приаттачу . В архиве RAM_SEL_TEST2.tdf - это то что глючит и RAM_SEL_TEST3.tdf - то что фурычит как надо .
    Собсно первый вариант для меня более предпочтителен , ибо не нужно кашу городить . Но в упор не въезжаю чего такая фигня происходит ...
    Цитата Сообщение от molodcov_alex Посмотреть сообщение
    А почему бы не пользовать lpm_mux?
    Вах , я даже не знаю че это ваще такое %)
    И как то уж совсем навёрнуто получается %\ Проще тогда через условие .
    Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
    REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/

  5. #4
    Veteran Аватар для molodcov_alex
    Регистрация
    13.03.2006
    Адрес
    Колпино
    Сообщений
    1,250
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fan Посмотреть сообщение
    Вах , я даже не знаю че это ваще такое %)
    lpm_mux - енто МЕГАфункция мультиплексор.
    Прототип:
    Код:
    FUNCTION lpm_mux (data[LPM_SIZE-1..0][LPM_WIDTH-1..0], sel[LPM_WIDTHS-1..0], clock, aclr) 
       WITH (LPM_WIDTH, LPM_SIZE, LPM_WIDTHS, LPM_PIPELINE)
       RETURNS (result[LPM_WIDTH-1..0]);
    data[][] - это входные данные
    sel[] - сигналы выборки (выбирают одну из шин)
    LPM_WIDTH - ширина шины
    LPM_WIDTHS - ширина сигнала выборки
    LPM_SIZE - =(2^LPM_WIDTHS) количество входных шин у мультиплексора

    В данном случае:
    на выходе nVRAM_RD и nVRAM_CS
    LPM_WIDTH соответственно 2
    LPM_WIDTHS равен 1 (ведь сигнал один - VIDEO_ACCESS)
    LPM_SIZE=2 (2^1) - два "варианта"

    на входе данных: GND и GND
    или nRD и nWR соответсвенно
    sel[]=VIDEO_ACCESS

    P.S. Я тоже называю сигналы nRD, nWR и т.д...
    Последний раз редактировалось molodcov_alex; 30.07.2007 в 20:52.
    ZX Spectrum forever!

  6. #5
    Guru Аватар для fan
    Регистрация
    11.02.2005
    Адрес
    Москва
    Сообщений
    3,789
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Понятно .

    А файло из аттача то же не компилится ??? В какой проге компилишь (и какой версии)?
    Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
    REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/

  7. #6
    Veteran Аватар для molodcov_alex
    Регистрация
    13.03.2006
    Адрес
    Колпино
    Сообщений
    1,250
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не, не компилиться...
    Компилю в MAX+plus II v10.2
    Последний раз редактировалось molodcov_alex; 31.07.2007 в 16:05.
    ZX Spectrum forever!

  8. #7
    Guru Аватар для fan
    Регистрация
    11.02.2005
    Адрес
    Москва
    Сообщений
    3,789
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня квактус 4 . Похоже он слегка пришибленный ...

    Вобщем сеньки за кооперейшен !
    Спек128 - испанская выдумка, навязанная Сэру Клайву. © Shaos
    REAL HARDWARE MUST LIVE ! - http://SBLive.narod.ru/ZX-Spectrum/

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

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

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

Ваши права

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