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

mixa7109

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

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

  • Посещение

Репутация

0 Обычный

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

  • Звание
    Участник
    Участник

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Всем добрый день, пытаюсь создать простой проект для работы с SFP и microblaze. Для microblaze используется прошивка: lwIP Echo Server. Проект учебный на отладочной плате Xilinx Kintex-7 FPGA KC705 Проектик делаю по этому гайду: https://numato.com/kb/gigabit-ethernet-example-design-using-vivado-for-mimas-a7-fpga-development-board/ Используются следующие модули: 1. MicroBlaze 2. AXI DMA 3. AXI 1G/2.5G Ethernet Subsystem 4. MIG 5. UART 6. Timer Все между собой соединяется, но на фото и не разберешь, слишком много соединений Все в сборке выглядит так: Все собирается, но сама прошивка не заводится. Даже в консоль ничего не выдается, я делал на другой платке обычный ethernet и там все работало. А ожидалось что-то типо такого: Но на выходе тишина. Причем, если запустить этот же проект, но с прошивкой на тест памяти, то все работает. Даже и не пойму, где может быть ошибка и что не так..... Проверял сами порты SFP через IBERT и тест был пройден.
  2. Я бы тебе посоветовал шину rx_in завести на триггер в отдельном процессе и уже его анализировать. А ещё можно было бы поставить простенький фильтр из 3 регистров. Для этого надо провести входной сигнал по трем регистрам. И создать 4 сигнал, который будет отображать в себе следующее (reg1 and reg2) or (reg2 and reg 3) or (reg1 and 3).
  3. У меня есть JTAG программатор от ST. Можно ли от него завести МК?
  4. Надо подключаться через JTAG?
  5. Не подключается STM32-E407

    Я полный чайник в МК. Прикупил себе STM32-E407 и установил keil 5.24. Перед тем как суваться в keil. Я попытался прошить через Arduino по инструкции из даташита. Все было успешно. Потом, я пытался уже что-то сделать в keil. Для начало хотел просто убедиться, что keil видит плату, но увы. Я прочитал куча решений и ни одна мне не помогла. Устанавливал дрова из этой папки F:\Keil_v5\ARM\STLink\USBDriver. Все равно не видит. Поменял STLinkUSBDriver.dll, все равно никакого отклика. Диспетчер устройств находит его вот так. Назначал через программу Zadig драйвер WinUSB. Подключение платы выглядит следующим образом Мне кажется, что я уже все поломал и у меня куча драйвер уже установлено на компьютер. Запутался, что делать?
  6. {cy0, sum_l0} <= sum_l0 + din_l; -- Здесь мы получаем наш перенос cy1 <= cy0; - вот так бы было через регистр sum_h1 <= sum_h1 + din_h0 + cy0; -- Здесь мы его уже используем sum_h1 <= sum_h1 + din_h0 + cy1; В этих двух строчках у нас нет регистра между cout и cin двух сумматоров.
  7. Вообщем вот такая упрощенная схемы вышла у меня. Если кому-то интересна реализация этой схемы на vhdl пишите)
  8. Да, я попробую реализовать второй способ. Можете подробнее описать, как и что должно происходить? И представленный код относится к какому варианту?
  9. Я этот момент исправил, я когда построил rtl схему, увидел, что не так, а вот поправить в сообщении забыл. Вообщем, там так, как "должно быть так"
  10. Можно поподробнее про первый вариант? Пытался его реализовать, но на выходные получалось опять же не то , что надо
  11. Вот описал схему. n_reset_adder <= miStart and n_reset; add_sub1: lpm_add_sub generic map ( lpm_direction => "UNUSED", lpm_representation => data_type, lpm_width => WIDTH_RG ) port map ( clock => clk, clken => miValid, aclr => not n_reset_adder, add_sub => miType, dataa => data_reg, datab => wire_dataB(0), result => wire_out(0) ); process(clk, n_reset) begin if n_reset = '0' then elsif rising_edge(clk) then wire_dataB(0) <= data_reg; wire_dataB(2) <= wire_out(1); wire_dataB(2) <= wire_dataB(1); end if; end process; add_sub2: lpm_add_sub generic map ( lpm_direction => "UNUSED", lpm_representation => data_type, lpm_width => WIDTH_RG ) port map ( clock => clk, clken => miValid, aclr => not n_reset_adder, add_sub => miType, dataa => wire_out(0), datab => wire_dataB(2), result => wire_out(1) ); moData <= wire_out(1); data_reg(WIDTH_DATA - 1 downto 0) <= miData; Результат не сходится с ожиданием, что я не так делаю? А вот схема из квартуса
  12. модуль TE-STM32F407 производства компании Терраэлектроника на основе 32-разрядного микроконтроллера STM32F407 от STMicroelectronics. С ядром Cortex-M4F. Супер старая, но необходимо с ней поработать, а найти информацию по ней не могу...есть у кого-нибудь в закромах информация по ней???
  13. Добрый день всем. Создаю один проект на больших скоростях и мне там необходимо складывать и накапливать большие значения (разрядность вектора более 50). Естественно проседает быстродействие и необходимо ввести латентность на сумматоре (хотя бы 2). На вход сумматора подаётся значения, которые изменяют по линейному закону с каким-то произвольным коэффициентом. Например входные данные могут быть 1,2,3,4,5 и т.д. А на выходе соответственно получаем 1,3,6,10,15. Схема классическая: выход сумматора падает на вход регистра, а его выход на второй вход сумматора. Регистр может инициировать любым значением перед началом работы. Классический аккумулятор! Есть варианты по добавлению второго сумматора для параллельного счета, но пока не удается засунуть его так, чтобы все работало. У кого-нибудь есть мысли, как увеличить быстродействие??
×
×
  • Создать...