Перейти к содержанию
    

picman

Участник
  • Постов

    70
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о picman

  • Звание
    Участник
    Участник
  • День рождения 22.03.1977

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Подскажите пожалуйста где почитать про конфигурирование внутреннего озу циклонов, как это делать на практике или как это описывается на VHDL (если конфигурация описывается)...Что то по поиску и по гуглу ну ни чего не нашел... ;)
  2. аа, понял. не тут как раз цель выяснить чему равен номер бита с 1, когда все последующие равны 0 правее его...
  3. гы, почему? if (count(0) = '1') then mux <= "111"; elsif (count(1) = '1') then mux <= "110"; elsif (count(2) = '1') then mux <= "101"; elsif (count(3) = '1') then mux <= "100"; elsif (count(4) = '1') then mux <= "011"; elsif (count(5) = '1') then mux <= "010"; elsif (count(6) = '1') then mux <= "001"; elsif (count(7) = '1') then mux <= "000"; end if; вроде бы все окей работает! может чего не доглядел???
  4. спасибо, я немного по другому решил: if (count(0) = '1') then mux <= "111"; elsif (count(1) = '1') then mux <= "110"; и т.д.
  5. :smile3046: спасибо, уже решил проблему. я пока с типами этими путаюсь ё маё...
  6. Немного изучил и почитал, экспериментирую дальше... Возник вопрос как на VHDL сделать маневр как в программировании, а именно: "погасить" ненужные биты в переменной чтобы сравнить ее с константой? вот кусочек примера как я думал сделать, но не тут то было... :rolleyes: architecture pwcex_arch of pwcex is signal count: std_logic_vector(7 downto 0); --счетчик импульсов signal mux: std_logic_vector(2 downto 0); --код для выбора бита begin process (count) begin if count = "00000000" then count <= "00000001"; elsif (count and 1) then <--------- вот это! mux <= "111"; elsif (count and 2) then <--------- вот это! mux <= "110"; end if; end process; end pwcex_arch; ошибку выдает ессно что не может быть булевым объектом count. есть ли в синтаксисе нечто вроде "неопределенного" значения например так process (count) begin if count = "00000000" then count <= "00000001"; elsif (count = "xxxxxxx1") then <--------- вот это! mux <= "111"; elsif (count = "xxxxxx10") then <--------- вот это! mux <= "110"; end if; end process;
  7. скачал и сейчас открыт у меня... может просто еще не нашел такое? :rolleyes: просто с англицким не сильно, поэтому медленно.
  8. Вот попробовал так: library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use ieee.std_logic_unsigned.all; entity pwcex is port( res: in std_logic; clock: in std_logic; del_1: out std_logic_vector(1 downto 0) ); end pwcex; architecture pwcex_arch of pwcex is signal del: std_logic_vector(1 downto 0); begin A: process(clock,res) begin if (res'event and res='1') then del <= "00"; elsif res='0' then del <= "00"; elsif (clock'event and clock='0') then del <= del + 1; end if; end process; del_1 <= del; end pwcex_arch; выдает: Error (10820): Netlist error at pwcex.vhd(22): can't infer register for del[0] because its behavior depends on the edges of multiple distinct clocks Info (10041): Inferred latch for "del[0]" at pwcex.vhd(20) Error (10820): Netlist error at pwcex.vhd(22): can't infer register for del[1] because its behavior depends on the edges of multiple distinct clocks Info (10041): Inferred latch for "del[1]" at pwcex.vhd(20) Error (10822): HDL error at pwcex.vhd(22): couldn't implement registers for assignments on this clock edge Error (10822): HDL error at pwcex.vhd(26): couldn't implement registers for assignments on this clock edge Error: Can't elaborate top-level user hierarchy Error: Quartus II Analysis & Synthesis was unsuccessful. 5 errors, 0 warnings Info: Allocated 154 megabytes of memory during processing Error: Processing ended: Sun Jun 14 21:01:45 2009 Error: Elapsed time: 00:00:03 Error: Quartus II Full Compilation was unsuccessful. 5 errors, 0 warnings как мне можно выйти из процесса досрочно, чтобы не проверялось событие clock'event если выполнилось хоть одно из предыдущих событий?
  9. не под всеми моими сообщениями есть эта кнопочка... :laughing:
  10. ааа, спасибо и прошу прощения. я то думаю, почему у меня в окне смотрится с отступами, а в форуме уже в 1 колонку. :rolleyes: цель: хочу попробовать сделать сброс асинхронный, не зависящий ни от каких сигналов, чтобы по нему сразу же все обнулялось... так а что у меня не так в последнем примере? (к сожалению не могу изменить его, я бы и его отредактировал с тэгами...)
  11. :unsure: да пробую переводить, какой то бред получается. :crying: а что такое тэги? может мне проще не терминами а на примере покажите пжлст...?
  12. Вот попробовал еще вариант с сбросом по фронту, что тут не так? library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; use ieee.std_logic_unsigned.all; entity pwcex is port( res: in std_logic; clock: in std_logic; del_1: out std_logic_vector(1 downto 0) ); end pwcex; architecture pwcex_arch of pwcex is signal del: std_logic_vector(1 downto 0); begin A: process(clock,res) begin if (res='1') then if (clock'event and clock='0') then del <= del + 1; end if; end if; end process; B: process(res) begin if (res'event and res='1') then del <= "00"; end if; end process; del_1 <= del; end pwcex_arch; ------------------------------------------------ Error (10028): Can't resolve multiple constant drivers for net "del[1]" at pwcex.vhd(31) Error (10029): Constant driver at pwcex.vhd(23) Error (10028): Can't resolve multiple constant drivers for net "del[0]" at pwcex.vhd(31) Error: Can't elaborate top-level user hierarchy Error: Quartus II Analysis & Synthesis was unsuccessful. 4 errors, 0 warnings Info: Allocated 154 megabytes of memory during processing Error: Processing ended: Sun Jun 14 16:34:40 2009 Error: Elapsed time: 00:00:03 Error: Quartus II Full Compilation was unsuccessful. 4 errors, 0 warnings
  13. спасибо. уже накачал. читаю изучаю. просто на конкретных примерах проще. все что сам нахожу исправляю, в чем торможу, спрашиваю. Еще раз спасибо... Гыыы, я понял откуда у меня нумерик взялся!!! я из сообщения http://electronix.ru/forum/index.php?s=&am...st&p=606583 код просто скопировал и потом не обратил внимания на эти изменения...
×
×
  • Создать...