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

alexx188

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

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

  • Посещение

Репутация

0 Обычный

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

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

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

578 просмотров профиля
  1. В настройках ядра я поставил "use external pmem", т.е. внешнюю память для инструкций. Обращение идет ч/з 8-и битную шину wishbone. Так как длина инструкции 18 бит, то 3 такта уходит только на то, чтобы считать команду. +3 такта на выполнение. Я не пытался выжать максимум. У меня работало на 50MHz LM32 довольно мощный проц. там и кэш есть и конвеер. Так что ~1 такт.
  2. Держи: ядро и тулчейн На Altera EPM1270 это ядро в самой минимальной конфигурации заняло ~600LE
  3. Я работал с их процами. И с lm32 и с lm8, правда зашивал их в Alter'у. Вот отличный lm32 SoC . Если будут вопросы по lm8 - задавай.
  4. Я таки заставил работать связку altera usb_blaster + openocd + stm32 Если кому интересно вот мой конфиг: telnet_port 4444 interface usb_blaster usb_blaster_vid_pid 0x09fb 0x6001 usb_blaster_device_desc "USB-JTAG-IF" source [find target/stm32f1x.cfg] adapter_khz 3000 А вот команды для gdb target remote :3333 monitor reset init load Debug/test.elf Все отлично работает без сбоев. Только скорость удручает. Зато решение универсальное. :08: P.S. openocd 0.6.1
  5. Три года прошло - сдвиги какие-нибудь есть?
  6. Спасибо. Ветку смотрел, но увидел spartan не стал разбираться. Еще раз гляну. Туговато пока идет :-)
  7. Я когда-то давно делал корку для работы с SD. Только не по SPI интерфейсу(там немного другая инициализация). Да и на форуме где-то было. Посмотри файл - может поможет. sd_fsm_phy.v
  8. Всем доброго времени суток. Увидел в сети сабж(milkymist), очень захотелось попробовать. Завгвоздка в том, что проект был написан под Spartan6 с использованием vendor-specific примитивов. Проблемы возникли в контроллере памяти. Там используются примитивы IDDR2, ODDR2 и IODELAY2. Первые два вроде сделал, а последний не пойму как реализовать. Может кто подскажет. Или если уже кто-то пределывал саб под altera - поделитесь. Заранее спасибо
  9. Да действительно. Странно, и о чем это говорит?
  10. reg [ 2:0] delay_pipe [PipeLength - 1: 0]; integer n; always @(posedge clk) begin if (ena) begin delay_pipe[0] <= Q; for (n = 1; n <= PipeLength - 1; n = n + 1) delay_pipe[n] <= delay_pipe[n - 1]; end end assign dQ = delay_pipe[PipeLength - 1]; все! Не тоже самое. Насколько я знаю у каждого D-тригера есть вход ENA. А в моем случае создается мультиплексор. Кроме того при компиляции есть разница в кол-ве Comb. logic ровно на один мультиплексор :). И поскольку работают обе схемы одинаково, это чисто академический интерес.
  11. Всем доброго времени суток. Хочу перевести сабж. Код VHDL process(clk, Q) begin if (clk'event and clk = '1') then if (ena = '1') then delay_pipe(0) <= Q; for n in 1 to PipeLength -1 loop delay_pipe(n) <= delay_pipe(n -1); end loop; end if; end if; end process; dQ <= delay_pipe(PipeLength -1); мой код на Verilog always @(posedge clk) begin if (ena) begin delay_pipe[0] <= Q; for (n = 1; n < PipeLength; n = n + 1) delay_pipe[n] <= delay_pipe[n - 1]; end end assign dQ = delay_pipe[PipeLength - 1]; получается такая картина RTLView VHDL RTLView Verilog Вопрос: Как избавиться от мультиплексора в конце конвеера? Спасибо.
  12. Всем доброго времени суток. Разбираюсь с сабжем. Настройки +-2g, 10bit. Данные получаю про прерыванию DATA_READY и вывожу в терминал. Изменяя угол наклона относительно оси Х(в положительную сторону) данные меняются в диапазоне от 0x0000 до 0x00FF!! За 0x00FF следует не 0x0100 как ожидаешь а снова 0 и так по кругу! Если угол ~90 градусов(т.е ~1g) тогда появляются числа 0x0300 - 0x0320! Если угол отрциательный происходит тоже самое только числа от 0xFFFF до 0xFF00(т.е дополнение до двух работает). Если кто разбирался с данным датчиком(или с подобным) подскажи куда смотреть! В даташите есть загадочная фраза про "data must be clipped to avoid rollover" - что это значит? Всем заранее спасибо. P.S. Также я не замечаю разницы между 10bit и FULL_RES. И между 2g 4g и 16g. Только 8g работает более-менее правильно.
  13. Вот еще: http://www.marsohod.org/index.php/projects/172-phframe1 http://www.marsohod.org/index.php/projects/173-phframe2 http://www.marsohod.org/index.php/projects/174-phframe3
  14. Если еще актуально, то для чтения нужно: TXR <= (DeviceAddress << 1) | 8'h01 CR <= 8'h68 (RD = 1, STO = 1, NACK = 1) далее проверяем SR. Если TIP == 0, тогда wb_cyc <=1 wb_stb <=1 если wb_ack == 1, тогда my_data <= wb_dat Все, удачи.
×
×
  • Создать...