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

Maverick_

Модератор
  • Постов

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

Весь контент Maverick_


  1. Могу поделиться примером для реализации для ПЛИС на VHDL Когда-то сам на основе предложенной реализации - реализовал фильтр 7х7 PS там описана реализация для окна 3х3 окна, но думаю преобразовать его в окно NxN не будет большой проблемой Еще можете посмотреть у Xilinx xapp 953 "Two-Dimensional Rank Order Filter"(доступен пример на VHDL языке) Mediane_filter.rar
  2. Вы правы :) Именно ее я и имел ввиду Спасибо :) посмотрел и все таки, реализация не по предложенному мною алгоритму (описанный в pdf файле). PS это только мое мнение
  3. Чтобы спора не было надо бы кому-то просто реализовать по данному алгоритму. Потом произвести сравнение результатов синтеза :) Можно ссылку на предложенную схему des333, которая реализована по данному алгоритму (я что-то ее не увидел, может плохо смотрел :().
  4. В книге Shevkoplias "Microprocessornye Structury" (стр 479) предлагают такой алгоритм. Вырезка этого алгоритма во вложении Когда-то давно я реализовал на VHDL логический элемент, который считает число единиц во входных данных так (он реализован на сумматорах) Описание портов: data – N разрядный вход add – N разрядный выход library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Vcnt1s is Port ( data : in std_logic_vector(15 downto 0); add : out std_logic_vector(4 downto 0)); end Vcnt1s; architecture Behavioral of Vcnt1s is begin process (data) variable S : std_logic_vector(4 downto 0); begin S := "00000"; for i in 0 to 15 loop if data(i) = '1' then S := S + "00001"; end if; end loop; add <= S; end process; end Behavioral; Shevkoplias.MicroprocessornyeStructury.pdf
  5. Понимаете, что в Verilog, что в VHDL имеется стандартные конструкции - описания различных цифровых устройств (счетчики, тригеры, дешифраторы и т.д.), которым если следовать тогда взаимопонимание Ваше с синтезатором будет 100%. Иначе будет очень плохо.
  6. Так я Вам и предоставил описание на VHDL. Попытаюсь Вам объяснить период формируемого сигнала это 0 - максимальное значение счечика. Как Вы уже правильно поняли с помощью компаратора формируется "еденичный полупериод" и "нулевой полупериод" |-------1--------|________0_______|----------1-и так далее. Если Вам нужен переменный коэффициент деления - делаете счетчик с предустановкой или производите его сброс по достижении определенного значения (можно сделать второй компаратор, по которому производиться сброс счетчика, а значение ему подается на вход.), таким образом уменьшаете период сигнала. Можно сделать если у Вас коефициентов деления некоторое постоянное число (N), можно сделать N параллельно вставить мое описание, а выходы пропустить через мультиплексор (N в 1). Таким образом, управление сводиться к управлению мультиплекссором.
  7. Так Ваша идея полностью реализована в привенных примерах (в моем VHDL описании и в описании на Verilog предоставленном MAXXXX (PS на первый взгляд и беглом просмотре предоставленного MAXXXX описания)). Я привел даже краткое описание работы. Вы проверяли предложенные описания и пытались понять их, разобраться в них? Чем они Вас не устраивают конкретно? Что именно Вам не понятно? обсуждение похожих вопросов: ссылка ссылка
  8. Попробуйте так library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity shim is Port ( clk : in STD_LOGIC; kod_in : in STD_LOGIC_VECTOR (15 downto 0); out_shim : out STD_LOGIC ); end shim; architecture Behavioral of shim is signal count_shim : STD_LOGIC_VECTOR (15 downto 0); begin process (clk) begin if clk'event and clk = '1' then count_shim <= count_shim + "0000000000000001"; end if; end process; process (clk) begin if clk'event and clk = '1' then if count_shim < kod_in then out_shim <= '1'; else out_shim <= '0'; end if; end if; end process; end Behavioral; Первый процесс описывает 16 разрядный счетчик, а второй описывает компаратор. Компаратор сравнивает значение счетчика со значением, которое подается на вход kod_in и соответственно формирует выход: if count_shim < kod_in then out_shim <= '1'; else out_shim <= '0'; end if;
  9. на мой взгляд это уже нюансы - главное слово описание :) :) :) наверное здесь никогда не будет найден общий знаменатель :laughing: Мне кажется здесь каждый отстаивает, то что ему ближе, но с сутью на мой взгляд здесь все согласны. Сейчас идет посто "придерание к словам/выражением" - это обычно не приводит ни к чему хорошему! PS Давайте останемся каждый со своим мнением. Ребята давайте жить дружно! (Кот Леопольд). :)
  10. процесор реализован внутри ПЛИС? --да, тогда может стоит подумать как реализовать ввод/вывод отдельно(насколько я помню(уточните, так как Вы не указали тип и производителя ПЛИС) в ПЛИС буферы с Z состоянием имеются только в блоках ввода-вывода); --нет(процессор не внутри ПЛИС), тогда через двунаправленный ввод/вывод(через Z состояния) и никаких проблем. PS Посмотрите архитектуру ПЛИС
  11. Это написано Userguide (ссылка на него ниже) для ISE 10.1.03 The Memory Interface Generator (MIG) generates DDRII SRAM, DDR SDRAM, DDR2 SDRAM, QDRII SRAM, and RLDRAM II interfaces for Virtex®-4 FPGAs and generates DDR SDRAM, DDR2 SDRAM, QDRII SRAM, and and DDRII SRAM interfaces for Virtex-5 FPGAs. It also generates DDR and DDR2 SDRAM interfaces for Spartan®-3, Spartan-3A, Spartan-3E, and Spartan-3A DSP FPGAs. The tool takes inputs such as the memory interface type, FPGA family, FPGA devices, frequencies, data width, memory mode register values, and so forth, from the user through a graphical user interface (GUI). The tool generates RTL, SDC, UCF, and document files as output. RTL or EDIF (EDIF is created after running a script file, where the script file is a tool output) files can be integrated with other design files. ссылка Для ускоррения разработки может стоит и поставить ISE 9.1.03 или 9.2.03 или даже более поздние версии (насколько я помню там MIG поставляется отдельно) но это Вам решать самому :) Ниже приведен скриншот где искать сам MIG в ISE 10.1.03
  12. спасибо, но это чуть-чуть не то что надо
  13. Я проголасовал за описание схемы. Так как напимер по многим книгам в определении и назначении языка VHDL звучат именно эти слова. Источники: Osnovy_Jazyka_VHDL_Bibilo_2002.djvu Сергиенко_VHDL для проектирования вычислительных устройств_2003.djvu Суворова Е.А. Шейнин Ю.Е. Проектирование цифровых систем на VHDL.djvu и т.д. PS Да и по форуму правят, если кто-то говорит что написал "программу на HDL языке" на "описание цифровой схемы(автомата, вычислителя, процессора)"
  14. Ее самую. Прямое попадание!!! :) Пока думаю производить сравнение следующего значения в квадрате с подкорневым значением. формула из п.6 (которую требуется реализовать), по ссылке приведенной ниже формулы для N =16, короче итоговое значение N кратное степени двойки, чтобы вместо деления можно было выполнить обычный сдвиг. Межу соседними отсчетами имется 16-18 тактов. Большое спасибо буду разбираться
  15. Согласен Так можно, сделать несколько основных страниц для каждой тематики и одну главную (корневую) для выбора тематики PS это мое предложение
  16. Возможно ли реализация вычисления квадратного корня за один(максимум 2-4 тактов, чем меньше, тем лучше) такт 100 МГц частоты. Если да, подскажите где и куда копать. Интересуют различные алгоритмы и реализации Кристал фирмы Xilinx Spartan 3 - XC3S400 PS Данные 16 битные. PS PS Я начал смотреть в табличный вариант реализации.
  17. Почему Вы так считаете? PS я бы Вам рекомендовал прислушаться к des00
  18. Полностью согласен Sefo - очень классный учитель, хорошо и толково объясняет!!! Дай Бог чтобы у них все получилось!!! ZED - не в обиду будет сказано, хороший ученик и видно, что хочет дойти до конца и во всем разобраться! PS Надеюсь своим детищем поделяться :rolleyes:
  19. можно вопрос: почему частота должна быть в 16/32 раза выше, а например не в 2/4/8 раза выше? Просто для манчестера тоже берется тоже частота в 16 раз выше.
  20. 1. Плиз заархивируйте word документ, тогда он будет занимать намного меньше места. 2. Вы наверное ошиблись веткой - если протокол под какой-то мкропроцессор/микроконтроллер то там и надо оставить данный пост, если реализация протокола будет под ПЛИС - то ветка, где обсуждается работа с ПЛИС. Здесь скорее всего Вам не подскажут. 3. Пользуйтесь тегами. 4. Посмотрите протокол ModBus, ProfiBus PS Это мое мнение.
×
×
  • Создать...