

SolderMan
Участник-
Posts
21 -
Joined
-
Last visited
Reputation
0 ОбычныйAbout SolderMan
-
Rank
Участник
-
Трассировка одного тактового сигнала FPGA на 2 пина.
SolderMan replied to SolderMan's topic in Работаем с трассировкой
Заливка FPGA прошивки в этом проекте идет из микроконтроллера методом PassiveSerial. Я узнаю. -
Трассировка одного тактового сигнала FPGA на 2 пина.
SolderMan replied to SolderMan's topic in Работаем с трассировкой
Ну я клок и так на GCLK завожу. А во втором банке клок понадобился человеку, который прошивкой занимается. Его тоже на GCLK ессно. -
Трассировка одного тактового сигнала FPGA на 2 пина.
SolderMan replied to SolderMan's topic in Работаем с трассировкой
Не совсем понял что имеется в виду. -
Трассировка одного тактового сигнала FPGA на 2 пина.
SolderMan replied to SolderMan's topic in Работаем с трассировкой
Где-то видел такое, вспомнил и решил спросить. Буду очень рад выслушать как сделать правильно. -
Приветствую. Занят трассировкой (точнее доработкой) платы с Xilinx Spartan 6, и в новой ревизии девайса нужно завести 50MHz клок с генератора на ещё один пин в другом банке (трасса на стриншоте подсвечена) Хотел узнать, стоит ли ставить последовательно резисторы (отметил красным оголо пада генератора)? Или это в данном случае не обязательно?
-
Привет всем, я написал маленькую консольную программку, которая по USB заливает прошивку в самопальную плату с Cyclone III по PS-протоколу. Возник вопрос: как, если это вообще возможно, прикрутить её к квартусу? Тоесть вызывать вместо стандартной "Programmer". С уважением
-
Привет всем, мне понадобилась возможность передавать/принимать информацию между ПК и FPGA (Altera DE1). Для этого я собрал простенькую плату на PIC24F и через USB<->SPI могу "общаться" с моей прошивкой. Я было начал пробовать, но так и не получилось наладить такую коммуникацию через встроенный USB-Blaster. Может кто делал такое? 2 USB кабеля надоели, постоянно какой-то вынимать надо за неимением свободных в ноуте. С уважением Дмитрий p.S. только что наткнулся на топик http://electronix.ru/forum/index.php?showt...=93851&st=0 Жаль конечно что API закрыта. Буду дальше юзать свой адаптер.
-
Спасибо за наводку! Достаточно подробно описано, всё по-полочкам разложено. Появилось представление о том, как реализовать простую предвыборку команд. Кэширования записи пока не будет. Кэш сделаю для начала размером 1кбайт (8 строк по 128 байт). Буду читать/писать SDRAM c burst=8. Посмотрю что получится! Насколько быстрее будет работать корка.
-
Привет всем, с некоторых пор я запустил на плате Altera DE1 корку упрощённого MIPS-проца. Всё тикает как надо. В качестве памяти использую SDRAM на частоте 90МГц, cas=2, burst=2. Для чтения/записи 32 бит данных из памяти/в память требуется ровно 7 тактов. Тоесть процессор работает на 12.86МГц. На такой частоте я "выжал" из него около 20DMIPS. Вроде не плохо, но хотелось бы побыстрее! Появилась идея прикрутить к корке простенький кэш инструкций (prefetch), чтобы хоть немного разогнать его. Начал искать в инете информацию о работе кэш-контроллеров, но кроме поверхностного описания принципа ничего не нашел. Поэтому решил обратиться к форумчанам: посоветуйте, как можно реализовать хоть самый простой кэш? Может есть что нибудь почитать на эту тему? Или пример на VHDL/Verilog. Хочу вникнуть, как кэш работает... С уважением Дима
-
Ethernet - Вопросы начинающего
SolderMan replied to SolderMan's topic in Интерфейсы
Тогда наверное начну познавать основы Ethernet с ENC28J60. Нашел в инете немного инфы о том, как с ним работать. Когда разберусь с этим чипом, думаю ламерские вопросы по ENC424J600 сами собой отпадут. С уважением Дмитрий Нет. Просто у меня уже есть база, на которой всё это будет в будущем работать. Всё продумано и нет смысла менять. Девайс будет не только плеером и радио. Это только одна из функций. -
Ethernet - Вопросы начинающего
SolderMan replied to SolderMan's topic in Интерфейсы
Не, у меня свой softcore проц (MIPS-совместимый) в циклоне от альтеры. В будущем это будет больше чем просто плеер + радио. Пока надо с сетью разобраться. -
Ethernet - Вопросы начинающего
SolderMan posted a topic in Интерфейсы
Привет всем! Я в свободное время занимаюсь разработкой MP3/OGG/и.т.д-плеера + WEB-радио. Работа с SD-картами и с VS1003 уже закончена. Всё играет как надо. Теперь дело за Ethernet для WEB-радио. У меня есть 3 платы: * ENC28J60 (самопал) * ENC424J600 (тоже моих рук) * W5100 (из китая) Я пока ещё не решил какой чип будет в законченном девайсе, но думал о ENC424J600. Проблема в том, что я с Ethernet вообще ещё дела не имел. Ну пробовал несколько готовых примеров для ENC28J60 запускать и всё. Посмотрел даташит на ENC424J600. Дремучий лес! В исходниках TCP/IP стёка от Microchip есть поддержка ENC424J600, но там тоже ничего не понятно. Короче, мне нужно осваивать всё с нуля. Может у кого есть простенькие примеры для этого чипа? Чего почитать посоветуете тому, кто вообще не в теме? С уважением Дима -
Привет всем, с некоторых пор я начас своё знакомство с SoftCore "Plasma" (MIPS1) и сваял для Altera DE1 небольшой тестовый проект, который включает в себя собственно сам процессор, UART, 2 таймера, SD-Card по SPI и кнопки/светодиоды. Память - 8мб SDRAM. Процессор тикает на частоте 12.85МГц, память на 90МГц. Пока нет никакого кэша. Раньше я использовал сборку GCC от Steve Rhoads. Но эта сборка не имеет никаких библиотек, поэтому всё приходилось писать самому. Поэтому я решил собрать GCC + Newlib. Собирал под Win32 (MinGW). Binutils 2.22 GCC 4.6.2 Newlib 1.20 GDB 7.4 Кое как получилось собрать Даже вроде заработало, но только проблемы с printf. Вот мой start-up code: .text .align 2 .global _start .ent _start _start: .set noreorder la $gp, _gp #initialize global pointer la $5, __bss_start #$5 = .sbss_start la $4, _end #$2 = .bss_end la $sp, 0x7FFFF #initialize stack pointer $BSS_CLEAR: sw $0, 0($5) slt $3, $5, $4 bnez $3, $BSS_CLEAR addiu $5, $5, 4 jal main nop loop: j loop .set reorder .end _start Скрипт LD: ENTRY(_start) SECTIONS { . = 0x00000000; .text : { boot.o (.text) *(.text) } .data : { *(.data) } _gp = . + 0x7ff0; __bss_start = .; .bss : { *(.bss) } _end = .; } Syscalls: #include <sys/stat.h> #define _MR(A) (*(volatile unsigned int*)(A)) #define _MW(A,V) *(volatile unsigned int*)(A)=(V) int fstat(int file, struct stat *st) { st->st_mode = S_IFCHR; return 0; } int read(int file, char *ptr, int len) { return 0; } int lseek(int file, int ptr, int dir) { return 0; } int isatty(int file) { return 1; } int close(int file) { return -1; } int write(int file, char *ptr, int len) { int todo; for (todo = 0; todo < len; todo++) { while(_MR(0x80000030)); // UART busy??? _MW(0x80000020, *ptr++); // write to UART } return len; } caddr_t sbrk(int incr) { extern char _end; /* Defined by the linker */ static char *heap_end; char *prev_heap_end; if (heap_end == 0) { heap_end = &_end; } prev_heap_end = heap_end; heap_end += incr; return (caddr_t) prev_heap_end; } Программа: #include <stdio.h> int main(void) { write(NULL,fff,3); printf("Hallo\n"); while(1); } Прямой вызов write работает как надо, а вот printf нет. Скорее всего, я думаю, у меня проблемы с heap/stack но так как опыта почти нет (всегда пользовался готовыми скриптами и start-up) то я завис. Почитал всё что смог найти в инете, но дальше дело не двигается. Надеюсь на помощь знающих! С уважением Дима
-
Разводка питания Cyclone 3 на двухсторонней плате
SolderMan replied to SolderMan's topic in Работаем с трассировкой
Спасибо! Попробую переразвести эти дороги. Дизайн пока не собирал под эту плату. Есть несколько, которые я буду портировать со спартана3. Про ограничения выходов не знал, я с альтерой работал только с готовыми платами (DE1, DE2, NanoBoard 3000), а своё делал на третьем спартане. У xilinx я таких проблем не встречал. Попробую собрать проект! -
Разводка питания Cyclone 3 на двухсторонней плате
SolderMan replied to SolderMan's topic in Работаем с трассировкой
На плате будет установлен один кварц на 50МГц, второй резервный на случай какой нибудь нужной частоты. SDRAM будет тактоваться до 133MHz, SRAM мне надо до 20-15нс доступ. Остальная периферия через гребёнку до 100MHz, в основном медленнее. AC97/VGA/PIC32 через SPI Третий пункт не совсем я понял. заргузочный флэш мне не нужен, прошивку будет заливать PIC32. Так с самого начала было задумано. RS232 и прочее будет на плате, куда эта будет "втыкаться" 1. Да, я в даташите читал про это, но уже на паре плат видел и 3.3В, поэтому подумал что можно и так. У меня самодельный USB Blaster на PIC18F14K50 и он только 3.3В может 2. Питание каждого из 4 PLL через бусинку сделать?