alexx188
Участник-
Постов
27 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о alexx188
-
Звание
Участник
Посетители профиля
578 просмотров профиля
-
В настройках ядра я поставил "use external pmem", т.е. внешнюю память для инструкций. Обращение идет ч/з 8-и битную шину wishbone. Так как длина инструкции 18 бит, то 3 такта уходит только на то, чтобы считать команду. +3 такта на выполнение. Я не пытался выжать максимум. У меня работало на 50MHz LM32 довольно мощный проц. там и кэш есть и конвеер. Так что ~1 такт.
-
Держи: ядро и тулчейн На Altera EPM1270 это ядро в самой минимальной конфигурации заняло ~600LE
-
Я работал с их процами. И с lm32 и с lm8, правда зашивал их в Alter'у. Вот отличный lm32 SoC . Если будут вопросы по lm8 - задавай.
-
ALTERA USB BLASTER use as JTAG programmer
alexx188 ответил GenaSPB тема в ARM, 32bit
Я таки заставил работать связку 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 -
ALTERA USB BLASTER use as JTAG programmer
alexx188 ответил GenaSPB тема в ARM, 32bit
Три года прошло - сдвиги какие-нибудь есть? -
milkymist SoC
alexx188 ответил alexx188 тема в Работаем с ПЛИС, области применения, выбор
Спасибо. Ветку смотрел, но увидел spartan не стал разбираться. Еще раз гляну. Туговато пока идет :-) -
milkymist SoC
alexx188 ответил alexx188 тема в Работаем с ПЛИС, области применения, выбор
Должны же быть варианты EP4CE22. -
Я когда-то давно делал корку для работы с SD. Только не по SPI интерфейсу(там немного другая инициализация). Да и на форуме где-то было. Посмотри файл - может поможет. sd_fsm_phy.v
-
milkymist SoC
alexx188 опубликовал тема в Работаем с ПЛИС, области применения, выбор
Всем доброго времени суток. Увидел в сети сабж(milkymist), очень захотелось попробовать. Завгвоздка в том, что проект был написан под Spartan6 с использованием vendor-specific примитивов. Проблемы возникли в контроллере памяти. Там используются примитивы IDDR2, ODDR2 и IODELAY2. Первые два вроде сделал, а последний не пойму как реализовать. Может кто подскажет. Или если уже кто-то пределывал саб под altera - поделитесь. Заранее спасибо -
VHDL-to-Verilog
alexx188 ответил alexx188 тема в Языки проектирования на ПЛИС (FPGA)
Да действительно. Странно, и о чем это говорит? -
VHDL-to-Verilog
alexx188 ответил alexx188 тема в Языки проектирования на ПЛИС (FPGA)
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 ровно на один мультиплексор :). И поскольку работают обе схемы одинаково, это чисто академический интерес. -
VHDL-to-Verilog
alexx188 опубликовал тема в Языки проектирования на ПЛИС (FPGA)
Всем доброго времени суток. Хочу перевести сабж. Код 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 Вопрос: Как избавиться от мультиплексора в конце конвеера? Спасибо. -
акселерометр ADXL345
alexx188 опубликовал тема в Метрология, датчики, измерительная техника
Всем доброго времени суток. Разбираюсь с сабжем. Настройки +-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 работает более-менее правильно. -
Вот еще: 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
-
Если еще актуально, то для чтения нужно: 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 Все, удачи.