User Tag List

Страница 57 из 191 ПерваяПервая ... 535455565758596061 ... ПоследняяПоследняя
Показано с 561 по 570 из 1910

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

  1. #561

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZEK Посмотреть сообщение
    это на 6
    ага, обсчитался
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  2. #562

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Избавляйся по мере возможностей от latch (простые "защелки" в проекте заменяй на регистры, тактируемые клоком.
    т.е. типа этих?
    signal scan_key: std_logic_vector(7 downto 0);
    signal slow: std_logic register;

  3. #563

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Например, было так:

    process(eoc,int_keyb,int_buf)
    begin
    if eoc='1' then
    vector<="11111101";
    elsif (int_keyb='1' and int_buf='0') then
    vector<="11111011";
    end if;
    end process;


    Это даст лишний варнинг, что vector - это latch. А это не очень хорошо... Можно получить неустойчивую работу из-за "иголок" и "гонок". Делаем так:

    process(clock,eoc,int_keyb,int_buf)
    begin
    if (clock'event and clock='1') then
    if eoc='1' then
    vector<="11111101";
    elsif (int_keyb='1' and int_buf='0') then
    vector<="11111011";
    end if;
    end if;
    end process;


    Теперь компилятор доволен, а мы избавлены от глюков.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  4. #564

    Регистрация
    31.03.2008
    Адрес
    Москва
    Сообщений
    735
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    80
    Поблагодарили
    37 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    т.е. типа этих?
    Защелка образуется, например, когда в процессе
    есть условия, а присвоение значения производится
    не во всех вариантах условия.

    http://www.interfacebus.com/Design_VHDL_Pitfalls.html - на англ.
    ZXM-Phoenix rev.01 2048K, VG93 hw emulator

  5. #565

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Образно говоря, мы заменяем 555ИР22 на 555ИР23

    ---------- Post added at 12:06 ---------- Previous post was at 12:03 ----------

    Цитата Сообщение от IanPo Посмотреть сообщение
    Защелка образуется, например, когда в процессе
    есть условия, а присвоение значения производится
    не во всех вариантах условия.
    Не только...
    Защелка записывает в себя данные всё время, пока активен сигнал выбора этой защелки. Если же сделать эту защелку синхронной, т.е. тактировать ее фронтом какого-либо сигнала, то запись будет происходить мгновенно, например как D-триггер, или регистр ИР23.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  6. #566

    Регистрация
    15.11.2007
    Адрес
    Харьков
    Сообщений
    873
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    А как сделать деление входной частоты на 3?
    Делается делителем на 4 и элементом "Исключающее ИЛИ"

    http://library.espec.ws/books/ttl/CHAPTER2/2-4-3.htm

  7. #567

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ewgeny7, в твоём файле orionkeyboard.v есть вот такие конструкции:
    ...
    keymatrix[7] <= 8'h0;
    ...
    9'h06c: keymatrix[0][0] <= press_release; //Home
    ...
    Эти два массива различные? Если да, то почему они названы одинаково или это в синтаксисе языка дозволено? Первый индекс означен номер столбца, второй - строки или наоборот?
    Я почему спрашиваю. Для реализации клавиатуры в Специалисте, мне приходится перелопачивать весь текст программы, т.к. приходится описывать клавиатуру 12 на 6. В программе учитывается ли что русская и английская раскладка на одних и тех же клавишах не совпадают?
    Последний раз редактировалось fifan; 05.08.2010 в 17:23.

  8. #568

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Если да, то почему они названы одинаково или это в синтаксисе языка дозволено? Первый индекс означен номер столбца, второй - строки или наоборот?
    Да, keymatrix это массив 8х8. Синтаксис позволяет описывать как любой "бит" массива, так и строчку целиком. Что там строка а что столбец - я уже не помню, надо схему РК-клавиатуры смотреть.

    Цитата Сообщение от fifan Посмотреть сообщение
    мне приходится перелопачивать весь текст программы, т.к. приходится описывать клавиатуру 12 на 6.
    Я приспосабливал этот блок для спектрума, исправлений было достаточно (5х8). Символы переписывал долго Выкладывал готовый блок где-то здесь в теме.


    Цитата Сообщение от fifan Посмотреть сообщение
    В программе учитывается ли что русская и английская раскладка на одних и тех же клавишах не совпадают?
    Нет. В Орионе нет четкого сигнала, указывающего на выбранную раскладку. Если бы был, то добавить удобную для себя раскладку - не проблема. Всего лишь сделать вторую таблицу символов
    А так как есть - только ЯВЕРТЫ.
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

  9. #569

    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,436
    Спасибо Благодарностей отдано 
    163
    Спасибо Благодарностей получено 
    190
    Поблагодарили
    121 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Да, keymatrix это массив 8х8.
    Всё ж, массив который одномерный как-то отличается от двухмерного или это один и тот же массив?

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    Я приспосабливал этот блок для спектрума, исправлений было достаточно (5х8). Символы переписывал долго Выкладывал готовый блок где-то здесь в теме.
    У меня есть этот файл - посмотрю.

    Цитата Сообщение от Ewgeny7 Посмотреть сообщение
    А так как есть - только ЯВЕРТЫ.
    Жаль. А вот в Специалисте есть клавиша РУС/LAT - можно же по нажатию её организовать триггер состояния клавиатуры?

  10. #570

    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    10,168
    Спасибо Благодарностей отдано 
    147
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fifan Посмотреть сообщение
    Всё ж, массив который одномерный как-то отличается от двухмерного или это один и тот же массив?
    Один и тот же.

    Цитата Сообщение от fifan Посмотреть сообщение
    А вот в Специалисте есть клавиша РУС/LAT - можно же по нажатию её организовать триггер состояния клавиатуры?
    А сама система будет знать какую раскладку ты выбрал?
    А если сам монитор без твоего участия раскладку выберет?
    Мы уже этот гемор с раскладками подробно проходили, выхода не нашли...
    ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
    Speccy-2007 128/AY/TR-DOS

    Сайт с документацией к "Scorpion ZS 256"

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

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

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

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

Похожие темы

  1. ДВК (и всё, что с ними связано)
    от Grand в разделе ДВК, УКНЦ
    Ответов: 4575
    Последнее: 17.11.2025, 11:38
  2. PAL/GAL и все что с ними связано.
    от Mick в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 489
    Последнее: 19.09.2025, 18:39
  3. SMUC на дискретах и ПЛИС
    от spensor в разделе Scorpion
    Ответов: 846
    Последнее: 02.05.2025, 08:36
  4. Ответов: 1215
    Последнее: 10.02.2025, 19:04
  5. Вопрос по ПЛИС
    от Zloy в разделе Несортированное железо
    Ответов: 23
    Последнее: 17.10.2015, 17:12

Ваши права

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