

AlphaMil
Участник-
Content Count
135 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Everything posted by AlphaMil
-
PCI Express ядро от Xilinx
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Но ведь выходом PCIE ядра является интерфейс AXI (как на прием, так и на передачу), я не подключаю ядро к процессору (синтезированному, или аппаратному), я сделал автомат состояний, который приняв транзакцию делает парсинг и, например, пишет или читает данные в/из блочной памяти. Это и есть аналог DMA (если я правильно понимаю). Так вот даже на этом этапе количество двойных слов ограничено одним. Т.е. хост не может даже запросить у меня более чем одно двойное слово. А не может запросить - как ему просто отдать больше, тупо посылкой на запись в память, инициированной с железки? -
PCI Express ядро от Xilinx
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Я может не совсем правильно понимаю, но для DMA нужен процессор, я же подключаю модули приема-передачи из примера непосредственно к блочной памяти (тестово, конечно), т.е. никакого процессора нет. Заполнение полей смотрю непосредственно на шине AXI. Или DMA-корка как-то особо настраивает всю связку (контроллер PCIE<->хост). Если не трудно, скажите номер ref design (или ссылку на него). Кстати платка KC705. Спасибо. -
Использую сгенерированное ядро PCIE от Xilinx. Для приема и отправки данных используются модули из примера для этого ядра. С помощью ChipScope смотрю содержимое поля Lenght в TLP (на шине AXI). Оно всегда равно 0x001. Перерыл инет, кто говорит, что это ограничение самого ядра, кто - на шине висит устройство, которое может обмениваться только по одному двойному слову (у меня - точно не висит такого устройства). Может уже кто сталкивался и решил эту проблему? Может порекомендуете другое какое ядра (ПЛИС Kintex7, использую аппаратный блок).
-
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
У меня в проекте, да и на отладочной плате один клок 100МГц. И этого достаточно... Из него можно получить все частоты, которые мне нужны. Возможно Вы меня не поняли - клоковый вход корки ДОЛЖЕН быть подключен к клоковому пину, там даже IBUFG сразу стоит... По этому пришлось менять код ядра, т.е. добавлять внутрь цепи сброса. -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
А зачем тогда секция initial??? Получается сброс нужно назначать на один из пинов и делать внешним. Или как я делать - корректировать файлы ядра что бы добавить туда код для сброса. Т.к. вход ядра сразу подключается на клоковый пин ПЛИС и выход хоть какого клока есть только после сбрасываемого PLL!!!! Так как делать в этом случае, если хилые сами этого не сделали? И даже в UG об этом не написали???? -
DDR3 и Kintex-7
AlphaMil replied to lehho's topic in Работаем с ПЛИС, области применения, выбор
SYSCK это скорее всего частота обмена Вашей логики с ядром (т.е. частота которую Вы можете использовать в своем проекте). Она может выбираться исходя из Ваших требований. -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Почему не хватает??? Он мирно находится в неактивном состоянии, а я считаю что после включения питания контроллер памяти находится в состоянии как после сброса (т.е. исходном)... И дело там не в том что сигнал сброшен, просто они ошиблись в схемотехнике и требуют дополнительного сброса для правильного запуска тактирующих цепей. -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Полностью согласен с Wic. Мне что бы разобраться в ошибке именно ХИЛЫХ, а не моей пришлось потратить кучу времени и перерыть много литературы. Почему информации по этой проблеме нет в ug388???? -
Возможно заявляется аппаратное ядро??? Без крепостного ядра запустить возможно и можно будет, но например ч меньшей тактовой частотой. Плюс расход ресурсов плис.
-
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Проблема решена. Все дело оказалось именно в том, что сигнал сброса нельзя кидать на 0. Через счетчик сделал сброс и все заработало. -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Проверил, все сигналы такие, какие должны быть. Проблема в сигнале сброса всего ядра. Читаю AR#35976, там эта проблема описывается. Если в проекте хилых сброс тоже сразу на 0 замкнуть - не работает. -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Извините, но что значит правильный? Контроллер сбросить надо после включения? У меня сразу сброс контроллера на 0 подключен. -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Попробовал залить во влешку и перезапустить с выключением питания, не спасло. Вообще плата рабочая - дефолтный проект идет, а память там используется. -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Т.е, alexr22b, надо заливать во флешку и тогда при включении питания должно работать??? А что хилые по этому поводу говорят? Информации нет?? -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Виноват, конечно 32'hFFFFFFFF. Примерне проверял. Понадеялся на симуляцию. Завтра обязательно проверю. Сигнал We не забыл - при симуляции все работает отлично. -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Сигнал калибровки в 1. Все транзакции происходят после этого. Интересно, что внутреннее фифо заполняется чем-то. Т.е. этими 16hFFFF наверное. Файл ucf уже кучу раз перебирал... -
Работа с DDR3
AlphaMil replied to AlphaMil's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Ориентируюсь на ug388. Код скорее всего ни при чем - при моделировании все работает, все констрейны выполняются. Использую отладочную плату Avnet Spartan-6 LX150T Development Board. Проекты для нее есть только для EDK. Может там сопротивления какие надо указывать. Вообще, что может привести к такому результату??? -
Работа с DDR3
AlphaMil posted a topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Блок MCB Spartan6 выдает при чтении всегда 32'hFFFF. Все сделал по руководству пользователя. Данные читаются из внутреннего для MCB FIFO на 64 слова. Информация в память пишется по другому каналу. При функциональном моделировании все работает на ура.... Подскажите, где копать. Спасибо. -
ETH1000MAC
AlphaMil replied to BSACPLD's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
К сожалению опыта использования Synplify нет. Да и Ethernet - это только капля всего проекта. Основная и главная часть совсем в другом... Пока мучаюсь и пишу свой контроллер с урезанными функциями. -
ETH1000MAC
AlphaMil replied to BSACPLD's topic in Системы на ПЛИС - System on a Programmable Chip (SoPC)
Очень интересно. Жаль написано на SV и под Альтеру... Вот бы под Xilinx.... -
Контроллер Ethernet
AlphaMil replied to AlphaMil's topic in Работаем с ПЛИС, области применения, выбор
Народ, пробую использовать MAC http://www.opencores.org/projects.cgi/web/ethernet_tri_mode, думаю здешний народ сталкивался... При симуляции все нормально и синтезируется все. Но после маппинга остается только несколько регистров - т.е. логика вся обрезается. Не пойму никак почему... Выкладываю модуль, все частоты заведены, ресет заведен, внешние сигналы тоже подключены. `timescale 1ns / 1ps `include "d:/PROJECTS/UOSON-2/VideoDevKit/Tests/LAN/LANController/EMAC/header.v" ////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: // // Create Date: 12:56:02 12/02/2011 // Design Name: // Module Name: LANController // Project Name: // Target Devices: // Tool versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // ////////////////////////////////////////////////////////////////////////////////// module LANController(Clck125M, Clck100M, Rst, GTxClck, RxClck, RxDV, RxD, RxEr, TxClck, TxEn, TxEr, TxD, LANRst, Crs, Col, MDIO, MDClck, TestOut); input Clck125M; input Clck100M; input Rst; output GTxClck; input RxClck; input RxDV; input [7:0] RxD; input RxEr; input TxClck; output TxEn; output TxEr; output [7:0] TxD; output LANRst; input Crs; input Col; inout MDIO; output MDClck; output [7:0] TestOut; //Ввод-вывод интерфейса управления wire MDI; wire MDO; wire MDIOEn; //assign MDIO = MDIOEn ? MDO : MDI; IOBUF #( .DRIVE(12), // Specify the output drive strength .IOSTANDARD("DEFAULT"), // Specify the I/O standard .SLEW("SLOW") // Specify the output slew rate ) MDIOBUF ( .O(MDI), // Buffer output .IO(MDIO), // Buffer inout port (connect directly to top-level port) .I(MDO), // Buffer input .T(MDIOEn) // 3-state enable input, high=input, low=output ); reg [7:0] TestOut; assign LANRst = Rst; //Управление ядром wire [2:0] Speed; reg Rd; wire RA; wire [31:0] Data; reg [15:0] Cntr; wire MACWA; reg MACWr; initial begin Cntr = 0; end always @(posedge Clck100M) begin if (RA) TestOut <= Data[7:0]; Rd <= RA; end always @(posedge Clck100M) begin if (MACWA) Cntr <= Cntr + 1; if ((Cntr > 100)&&(Cntr < 2000)) MACWr <= 1; else MACWr <= 0; end MAC_top MAC ( .Reset(!Rst), .Clk_125M(Clck125M), .Clk_user(Clck100M), .Clk_reg(Clck100M), .Speed(Speed), .Rx_mac_ra(RA), .Rx_mac_rd(Rd), .Rx_mac_data(Data), .Rx_mac_BE(), .Rx_mac_pa(), .Rx_mac_sop(), .Rx_mac_eop(), .Tx_mac_wa(MACWA), .Tx_mac_wr(MACWr), .Tx_mac_data({16'h0000, Cntr}), .Tx_mac_BE(2'b00), .Tx_mac_sop(1'b0), .Tx_mac_eop(1'b0), .Pkg_lgth_fifo_rd(Pkg_lgth_fifo_rd), .Pkg_lgth_fifo_ra(Pkg_lgth_fifo_ra), .Pkg_lgth_fifo_data(Pkg_lgth_fifo_data), .Gtx_clk(GTxClck), .Rx_clk(RxClck), .Tx_clk(TxClck), .Tx_er(TxEr), .Tx_en(TxEn), .Txd(TxD), .Rx_er(RxEr), .Rx_dv(RxDV), .Rxd(RxD), .Crs(Crs), .Col(Col), .CSB(1'b0), .WRB(1'b0), .CD_in(16'h0000), .CD_out(), .CA(8'h00), .Mdo(MDO), .MdoEn(MDOEn), .Mdi(MDI), .Mdc(MDClck) ); endmodule -
Конфигурация ml507 PHY Marvell 8e1111 для MII
AlphaMil replied to Mar_K's topic in Работаем с ПЛИС, области применения, выбор
Плата sp605 также начинаю работать с сетью, у меня вообще нет скрипта для конфигурирования марвелла. После включения сразу начинаю принимать пакеты. Но вот отправлять не получается. На выходе плис сигналы все нормальные, но хост фрейм не принимает. -
Контроллер Ethernet
AlphaMil replied to AlphaMil's topic in Работаем с ПЛИС, области применения, выбор
Уважаемые, вроде все сделал - ARP пакеты принимаются и разбираются. Но вот отправка не работает - смотрю с помощью WiresShark. Контрольные суммы уже руками считал... Всю структуру отправляемого пакета проверил много раз. Через GMII все передается нормально. Может надо Marvell настроить как-то. У меня горит 1Gbit. Если задать со стороны хоста жестко 100Mbit, данные принимаются не правильно - смотрю ChipScop-ом... -
Контроллер Ethernet
AlphaMil replied to AlphaMil's topic in Работаем с ПЛИС, области применения, выбор
AndreiUS, Вы не могли бы выложить часть проекта хоть какого, где используется ядро Ethernet 1000BASE-X PCS/PMA or SGMII, я пытался с ним разобраться, но так и не понял, что там за интерфейсы и куда их подключать. Да и как управлять им??? -
Контроллер Ethernet
AlphaMil replied to AlphaMil's topic in Работаем с ПЛИС, области применения, выбор
2 iosifk. Спасибо, буду сейчас изучать.