реклама на сайте
подробности

 
 
> Освоение ISE
Nuts
сообщение Jul 26 2008, 12:12
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 21-07-08
Пользователь №: 39 128



Здравствуйте!!!
Написал в ISE программу для ПЛИС XILINX на VHDL, программа состоит из одного процесса.
Скажите пожалуйста, можно средствами ISE посмотреть за сколько тактов выполнится программа, тоесть процесс?

Сообщение отредактировал Nuts - Jul 26 2008, 12:29
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Nuts
сообщение Aug 13 2008, 16:47
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 21-07-08
Пользователь №: 39 128



В EDK, для КID на Virtex4, собрал BSP, установил ОС XilKernel, написал простенькое приложение для отправки UDP пакетов. Дело в том, что после компиляции всего этого, вылазит сообщение о том что, Ethernet IP ядро требует лицензию. Все это загружается и работает, но скорость по Ethernet очень маленькая, 20 Кбит/с (ожидаемая не менее 400 Мбит/c, ну хотябы 100 набрать). Может скорость по Ethernet быть ограничена, всвязи с отсутствием лицензии на IP ядро? Может кто сталкивался с подобной ситуацией. 05.gif
Go to the top of the page
 
+Quote Post
Timonnn
сообщение Aug 14 2008, 05:34
Сообщение #3





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 987



Цитата(Nuts @ Aug 13 2008, 19:47) *
В EDK, для КID на Virtex4, собрал BSP, установил ОС XilKernel, написал простенькое приложение для отправки UDP пакетов. Дело в том, что после компиляции всего этого, вылазит сообщение о том что, Ethernet IP ядро требует лицензию. Все это загружается и работает, но скорость по Ethernet очень маленькая, 20 Кбит/с (ожидаемая не менее 400 Мбит/c, ну хотябы 100 набрать). Может скорость по Ethernet быть ограничена, всвязи с отсутствием лицензии на IP ядро? Может кто сталкивался с подобной ситуацией. 05.gif


подскажи подробнее, пожалуйста, как ты генерировал ядро для езернета - тоже интересует данный вопрос, только пишу езернет на Спартане-3Е

Спасибо.
Go to the top of the page
 
+Quote Post
Nuts
сообщение Aug 14 2008, 17:27
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 28
Регистрация: 21-07-08
Пользователь №: 39 128



Цитата(Timonnn @ Aug 14 2008, 12:34) *
подскажи подробнее, пожалуйста, как ты генерировал ядро для езернета - тоже интересует данный вопрос, только пишу езернет на Спартане-3Е


Ehternet IP ядро подключил с помощью визарда, в EDK 9.2 уже готовое есть, но без лицензии.
С помощью визарда в EDK 9.2 прикрутил на отладочную плату, необходимые ядра. ОС установил Xilkernel , подключил библиотеки xilmfs и lwip. Затем добавил следующий application, для отправки UDP пакетов, вот кому интересно:

Код
#include <stdio.h>
#include "xenv_standalone.h"
#include "xparameters.h"
#include "netif/xadapter.h"
#include <string.h>
#include "xmk.h"
#include "lwip/inet.h"
#include "lwip/sockets.h"
#include "lwipopts.h"
#ifdef XPAR_ETHERNET_MAC_BASEADDR
#define EMAC_BASEADDR  XPAR_ETHERNET_MAC_BASEADDR
#elif XPAR_LLTEMAC_0_BASEADDR
#define EMAC_BASEADDR  XPAR_LLTEMAC_0_BASEADDR
//#else
//#error
#endif
/* list of applications to be included */
#define APP_TXPERF
void
print_ip(char *msg, struct ip_addr *ip)
{
    print(msg);
    xil_printf("%d.%d.%d.%d\n\r", ip4_addr1(ip), ip4_addr2(ip),
            ip4_addr3(ip), ip4_addr4(ip));
}
void
print_ip_settings(struct ip_addr *ip, struct ip_addr *mask, struct ip_addr *gw)
{
    print_ip("Board IP: ", ip);
    print_ip("Netmask : ", mask);
    print_ip("Gateway : ", gw);
}
int main()
{
    xilkernel_main();
}
int tx_application_thread_my()
{
    int sock_my,i;
    struct sockaddr_in address;
    char buf[50000];
    /* initialize file system layer */
//    platform_init_fs();
    /* initialize devices */
    //platform_init_gpios();
    for(i=0;i<=50000;i++) buf[i]='r';
    if ((sock_my = lwip_socket(AF_INET, SOCK_DGRAM, 0)) < 0)    return;
    address.sin_family = AF_INET;
    address.sin_port = htons(3425);
    address.sin_addr.s_addr = inet_addr("192.168.0.215");
    if (lwip_bind(sock_my, (struct sockaddr *)&address, sizeof (address)) < 0)        return;
            while(1)  {
        lwip_sendto(sock_my, buf, sizeof(buf), 0,(struct sockaddr *)&address, sizeof(address));
    }
        lwip_close(sock_my);
}
//void tx_application_thread_my();
void tx_application_thread();
//void rx_application_thread();
struct netif server_netif;
char buf_sdram[16*1024*1024];
int network_thread()
{
    struct netif *netif;
    struct ip_addr ipaddr, netmask, gw;
    /* the mac address of the board. this should be unique per board */
    unsigned char mac_ethernet_address[] = { 0x00, 0x0a, 0x35, 0x00, 0x01, 0x02 };
    netif = &server_netif;
    /* initliaze IP addresses to be used */
    IP4_ADDR(&ipaddr,  192, 168,   0, 51);
    IP4_ADDR(&netmask, 255, 255, 255,  0);
    IP4_ADDR(&gw,      192, 168,   0,  215);
    /* print out IP settings of the board */
    print("\n\r\n\r");
    print_ip_settings(&ipaddr, &netmask, &gw);
    if (!xemac_add(netif, &ipaddr, &netmask, &gw, mac_ethernet_address, EMAC_BASEADDR)) {
        xil_printf("Error adding N/W interface\n\r");
        return -1;
    }
    netif_set_default(netif);
    /* specify that the network if is up */
    netif_set_up(netif);
    /* start packet receive thread - required for lwIP operation */
      sys_thread_new(xemacif_input_thread, netif, DEFAULT_THREAD_PRIO);
    /* now we can start application threads */
#ifdef APP_TXPERF
    /* start txperf thread */
    sys_thread_new(tx_application_thread_my, 0, DEFAULT_THREAD_PRIO);
#endif
    return 0;
}
int main_thread()
{
    /* initialize lwIP before calling sys_thread_new */
    lwip_init();
    /* any thread using lwIP should be created using sys_thread_new */
      sys_thread_new(network_thread, NULL, DEFAULT_THREAD_PRIO);
    return 0;
}


05.gif

Сообщение отредактировал Nuts - Aug 14 2008, 17:41
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Nuts   Освоение ISE   Jul 26 2008, 12:12
- - makc   Цитата(Nuts @ Jul 26 2008, 16:12) Здравст...   Jul 26 2008, 12:29
- - Nuts   Спасибо. За совет. makc Программа такая, по посл...   Jul 26 2008, 12:49
- - makc   Цитата(Nuts @ Jul 26 2008, 16:12) Написал...   Jul 26 2008, 12:51
|- - Nuts   Цитата(makc @ Jul 26 2008, 19:50) Если ве...   Jul 26 2008, 13:06
|- - makc   Если после присвоения переменной Вы будете ее испо...   Jul 26 2008, 14:48
- - Nuts   А если такой случай где будет счетчик например: Ко...   Jul 27 2008, 04:00
|- - makc   Цитата(Nuts @ Jul 27 2008, 08:00) А если ...   Jul 27 2008, 06:01
|- - Maverick   Цитата(Nuts @ Jul 27 2008, 07:00) А если ...   Jul 27 2008, 10:26
- - Nuts   Makс, пасибо вы очень помогли.   Jul 27 2008, 07:22
- - Nuts   Maverick, хорошо я запомню . Есть вопрос Пример:...   Jul 27 2008, 16:32
|- - makc   Цитата(Nuts @ Jul 27 2008, 20:32) В приме...   Jul 27 2008, 17:57
|- - CaPpuCcino   я бы предложил товарищу вопрошающему всё-таки снач...   Jul 27 2008, 18:10
- - Nuts   makc Если писать команды в теле самого модуля то...   Jul 28 2008, 04:51
|- - makc   Цитата(Nuts @ Jul 28 2008, 08:51) makc ...   Jul 28 2008, 08:49
- - MrYuran   Вот к чему приводит непонимание основ... "Про...   Jul 28 2008, 05:41
|- - Nuts   Теперь понятно. Я действительно думал что ПЛИС-про...   Jul 28 2008, 10:25
|- - Nuts   Что такое макроячейка?   Jul 31 2008, 03:31
|- - makc   Цитата(Nuts @ Jul 31 2008, 07:31) Что так...   Jul 31 2008, 05:56
- - Nuts   Спасибо.   Jul 31 2008, 15:49
|- - muravei   У меня тоже вопрос : "Как приделать к дешифра...   Jul 31 2008, 18:12
|- - makc   Цитата(muravei @ Jul 31 2008, 22:12) У ме...   Jul 31 2008, 18:43
|- - Nuts   Скажите пожалуста. Нужно менять один и тот же с...   Aug 5 2008, 11:20
|- - makc   Цитата(Nuts @ Aug 5 2008, 15:20) Скажите ...   Aug 5 2008, 11:38
- - MrYuran   Если сигнал один и тот же и CLK один и тот же, то ...   Aug 5 2008, 11:28
- - Nuts   Это простой пример. Я пишу чтото вроде асинхронног...   Aug 5 2008, 11:30
|- - ReedCat   Цитата(Nuts @ Aug 5 2008, 15:30) Да и сиг...   Aug 5 2008, 11:38
|- - makc   Цитата(Nuts @ Aug 5 2008, 15:30) Это прос...   Aug 5 2008, 11:41
|- - o-henry   Цитата(Nuts @ Aug 5 2008, 13:30) сигналы ...   Aug 5 2008, 11:42
|- - Maverick   Цитата(Nuts @ Aug 5 2008, 14:30) Это прос...   Aug 6 2008, 07:48
|- - BSV   Цитата(Maverick @ Aug 6 2008, 11:48) FIFO...   Aug 6 2008, 07:58
|- - Maverick   Цитата(BSV @ Aug 6 2008, 10:58) Это с чег...   Aug 6 2008, 09:26
|- - BSV   Цитата(Maverick @ Aug 6 2008, 13:26) Смущ...   Aug 6 2008, 10:17
|- - Maverick   Цитата(BSV @ Aug 6 2008, 13:17) Но в FIFO...   Aug 6 2008, 10:31
|- - andrew_b   Цитата(Maverick @ Aug 6 2008, 14:31) Я та...   Aug 6 2008, 10:34
- - Nuts   ReedCat спасибо. В FIFO данные записываются одн...   Aug 5 2008, 11:48
|- - ReedCat   Цитата(Nuts @ Aug 5 2008, 15:48) ReedCat ...   Aug 5 2008, 12:11
- - Nuts   Здраствуйте. Скажите пожалуста, в PLIS архитектуры...   Aug 12 2008, 17:05
|- - Boris_TS   Цитата(Nuts @ Aug 12 2008, 21:05) Скажите...   Aug 12 2008, 19:08
- - Nuts   Спасибо   Aug 13 2008, 11:46
- - dvladim   Цитата(Boris_TS @ Aug 12 2008, 23:08) ПЛИ...   Aug 13 2008, 17:45
|- - Boris_TS   Цитата(dvladim @ Aug 13 2008, 21:45) Полу...   Aug 14 2008, 09:08
|- - MrYuran   Цитата(Boris_TS @ Aug 14 2008, 13:08) в Б...   Aug 14 2008, 13:03
|- - Boris_TS   Цитата(MrYuran @ Aug 14 2008, 17:03) можн...   Aug 14 2008, 15:11
- - DiWhite   Начинаю работать с ethernet на Spartsn 6. Сделал к...   Mar 9 2011, 19:09


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 21:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01467 секунд с 7
ELECTRONIX ©2004-2016