Jump to content

    

Amper25

Свой
  • Content Count

    213
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Amper25

  • Rank
    Местный
  1. Спасибо за советы. Разобрался уже. Чтобы не подвисало надо перед чтением делать CloseHandle для Pipe c той стороны. Иначе, если вызванный процесс завершился, и попробовать выполнять ReadFile, то он будет до бесконечности ждать ввода с той стороны.
  2. Спасибо за ответы. А как обычно определяют конец передачи по Pipe? Я сейчас жду окончания процесса, и затем читаю Pipe. Но он подвисает во время чтения.
  3. Есть вопрос сугубо PC-программерский. ShellExecute() позволяет выполнять любые консольные команды. А вот как получать ответ этих команд? К примеру я выполняю Ping c помощью ShellExecute. При этом в окошке Ping пишет доступен или нет такой-то адрес. А как с помощью программы прочитать то что ответил этот пинг?
  4. Либо для ClassicTimeAnalyser - в основном это параметры: Tsu, Th - для входных сигналов, Tco - для выходных. Что касается размещения кусков проекта в конкретных метсах ПЛИС, слышал об этом, но почему то никогда не пользовал.
  5. Да уже наверно и не надо. Решил делать RAM с помощью мегафункций и файлы с их описанием конектить к моему VHDL.
  6. Пробовал компилить array of std_logic_vector, помещает в логические ячейки а не в RAM. Что делать?
  7. При компиляции проекта, тебе напишут сколько ячеек из 10000-25000 было использовано. CLK входы отличаются от других только тем, что они "заточены" под тактовый сигнал. То есть время распространения клока через них намного меньше чем через обычные входы. Таким образом тактовый сигнал можно заводить через любой логический вывод, но при этом параметры задержки будут намного хуже. Еще CLK можно использовать как обычный вход, если не хватает стандартных ног.
  8. Понтяно. А, вообще, есть ли в VHDL(без привязки к мегафункциям quartus-а) какой нибудь тип или класс, с помощью которого можно реализовать двупортовую память размером 1024х32 с разными клоками на чтение и запись?(+ защелки на чтение и запись) Или просто можно сделать так: ------------------------------------------- type RamBlock is array(0 to 1023) of std_logic_vector(31 downto 0); signal RAM : RamBlock; signal WR_ADDR: integer range 0 to 1023; signal WR_DATA: std_logic_vector(31 downto 0); signal WR_EN: std_logic; signal RD_ADDR: integer range 0 to 1023; signal RD_DATA: std_logic_vector(31 downto 0); if ((WR_CLK'event) and (WR_CLK='1')) then if (WR_EN='1') then RAM(WR_ADDR) <= WR_DATA; end if; end if; if ((RD_CLK'event) and (RD_CLK='1')) then RD_DATA <= RAM(RD_ADDR); end if; -------------------------------------------- И если сделать так, то разместит он в блоках RAM это или нет? И еще вопрос по защелкам WR_ADDR, WR_DATA ... С CycloneIII были проблемы, компиллер ругается что нельзя делать блоки RAM без защелкивания адреса и данных.(асинхронный вариант) Хотя для Acex1K можно было.
  9. Такой подход понятен, но как указать ему, что "array() of std_logic_vector" надо на кристале потом разместить в RAM блоках а не реализовать в виде логики? 8192x32 как то не очень хорошо реализуются с помощью D-тригеров.
  10. Раньше во всех проектах всю логику писал на VHDL, потом делал блок по VHDL файлу и к этому блоку в схемном редакторе подключал проводами RAM. Но вот захотелось написать все в виде одного VHDL файла, чтобы потом легче портировалось. А как описать блок RAM и потом подключить его к VHDL файлу в текстовом виде незнаю.
  11. ISPProg некоректно шьет AT45DBxx, если установить размер страницы не 528 а 512байт. Походу прога не доделаная и при работе с 512 байтными страницами неправильно передаются адреса. Есть ли еще какой вариант AT45DBxx LPT программатора?
  12. Не нашел ISPPROG здесь на форуме. Нагуглил ISPProg какогото поляка, это он?
  13. Существует ли в природе простой программатор последовательного FLASH типа AT45DB081 или др. из AT45DB серии? Нужно что-то вроде AVReal с LPT интрефейсом. То есть бесплатный софт и возможность настраивать железо под свое усмотрение.( например LPT2 - clk, LPT3 - MISO ...) Задача в общем-то не сложная, но как-то ломает покупать или самому писать софт.
  14. А, примерно так и предполагал. Всем спасибо за помощь.
  15. Не, был метод попроще, что то вроде: *(0xFFC0) = 125; Но не могу впомнить и найти исходники.