Methane 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба Спрошу сразу. Можно ли достоверно промоделировать на моделсиме устройство на PCIe, ничего не покупая и не тратя на это все несколько месяцев? Хочется написать, убедится что BARы правильно прописаны, что PnP и прочая беда работает, прогнать симуляцию разных вариантов чтения/записи из PCIe, генерации прерываний, убедится что пашет DMA, Burstы, что все работает в 64 бита, поиграться включая/отключая lan-ы, посмотреть какая для этого нужна ПЛИСина, может быть и hotplug проверить итд. И уже потом решать вопросы с покупкой чего либо. И заодно, если покупать megaCore PCIe, то сколько это может стоить? (просто порядок цен)? Килобакс, мегабакс? Если да, то что откуда качать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба Вопрос из серии "как получить все, не делая ничего". Попробуем ответить. Начиная с конца: PCIe endpoint реализован аппаратно в большинстве современных FPGA, поэтому ничего не стоит. Что же касается симуляции - devkits именно потому пользуются таким спросом, что дают возможность быстро и недорого проверить дизайн. Например Xilinx SP605 позволит вам за примерно $700 (цена двух недель работы инженера не считая налогов) не искать бесплатные модели PCIe хоста и потом разбираться с их глюками, а вставить ваш дизайн в живой компьютер, запустить с одной стороны PCIScope, с другой стороны ChipScope, и не тратя месяцы все отладить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба Вопрос из серии "как получить все, не делая ничего". Попробуем ответить. Начиная с конца: PCIe endpoint реализован аппаратно в большинстве современных FPGA, поэтому ничего не стоит. Что же касается симуляции - devkits именно потому пользуются таким спросом, что дают возможность быстро и недорого проверить дизайн. Например Xilinx SP605 позволит вам за примерно $700 (цена двух недель работы инженера не считая налогов) не искать бесплатные модели PCIe хоста и потом разбираться с их глюками, а вставить ваш дизайн в живой компьютер, запустить с одной стороны PCIScope, с другой стороны ChipScope, и не тратя месяцы все отладить. Про devkit, понятно. А в моделсиме? Я в свое время отлаживал обмен с SDRAM, скачав ее вериложную модель, и подключив в проект. А сейчас чего-то не могу найти того же для PCIе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DmitryR 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба Вы прежде, чем искать подумайте, как эта модель могла бы выглядеть. Особенно в части PnP: для этого туда пришлось бы половину винды переписать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 (изменено) · Жалоба Вы прежде, чем искать подумайте, как эта модель могла бы выглядеть. Особенно в части PnP: для этого туда пришлось бы половину винды переписать. Хорошо что в Альтере об этом не знают. Они не граматные. # Time: 0 Instance: artempcieee_chaining_testbench.ep.epmap.serdes.artempcieee_serdes_alt4gxb_bjea_c omponent.tx_pll0 # Note : CMU PLL is reset # Time: 0 Instance: artempcieee_chaining_testbench.ep.epmap.serdes.artempcieee_serdes_alt4gxb_bjea_c omponent.rx_cdr_pll0 # Note : Stratix GX PLL locked to incoming clock # Time: 40000 Instance: artempcieee_chaining_testbench.ep.epmap.refclk_to_250mhz.altpll_component.pll0 # Note : Stratix II PLL locked to incoming clock # Time: 48000 Instance: artempcieee_chaining_testbench.rp.rp.niilO0i.pll1 # Note : Stratix GX PLL locked to incoming clock # Time: 56000 Instance: artempcieee_chaining_testbench.ep.epmap.pll_250mhz_to_500mhz.altpll_component.pl l0 # INFO: 464 ns Completed initial configuration of Root Port. # INFO: Core Clk Frequency: 125.00 Mhz # INFO: 3660 ns RP LTSSM State: DETECT.ACTIVE # INFO: 3780 ns EP LTSSM State: DETECT.ACTIVE # INFO: 3828 ns EP LTSSM State: POLLING.ACTIVE # INFO: 6908 ns RP LTSSM State: POLLING.ACTIVE # INFO: 9036 ns RP LTSSM State: POLLING.CONFIG # INFO: 9364 ns EP LTSSM State: POLLING.CONFIG # INFO: 10516 ns EP LTSSM State: CONFIG.LINKWIDTH.START # INFO: 10636 ns RP LTSSM State: CONFIG.LINKWIDTH.START # INFO: 11284 ns EP LTSSM State: CONFIG.LINKWIDTH.ACCEPT # INFO: 11804 ns RP LTSSM State: CONFIG.LINKWIDTH.ACCEPT # INFO: 12124 ns RP LTSSM State: CONFIG.LANENUM.WAIT # INFO: 12756 ns EP LTSSM State: CONFIG.LANENUM.WAIT # INFO: 12948 ns EP LTSSM State: CONFIG.LANENUM.ACCEPT # INFO: 13084 ns RP LTSSM State: CONFIG.LANENUM.ACCEPT # INFO: 13404 ns RP LTSSM State: CONFIG.COMPLETE # INFO: 13860 ns EP LTSSM State: CONFIG.COMPLETE # INFO: 15012 ns EP LTSSM State: CONFIG.IDLE # INFO: 15132 ns RP LTSSM State: CONFIG.IDLE # INFO: 15244 ns RP LTSSM State: L0 # INFO: 15476 ns EP LTSSM State: L0 # INFO: 18264 ns # INFO: 18264 ns Configuring Bus 001, Device 001, Function 00 # INFO: 18264 ns EP Read Only Configuration Registers: # INFO: 18264 ns Vendor ID: 1172 # INFO: 18264 ns Device ID: 0004 # INFO: 18264 ns Revision ID: 01 # INFO: 18264 ns Class Code: FF0000 # INFO: 18264 ns Subsystem Vendor ID: 1172 # INFO: 18264 ns Subsystem ID: 0004 # INFO: 18264 ns Interrupt Pin: INTA# used # INFO: 18264 ns # INFO: 19272 ns PCI MSI Capability Register: # INFO: 19272 ns 64-Bit Address Capable: Supported # INFO: 19272 ns Messages Requested: 4 # INFO: 19272 ns # INFO: 24376 ns EP PCI Express Link Status Register (1011): # INFO: 24376 ns Negotiated Link Width: x1 # INFO: 24376 ns Slot Clock Config: System Reference Clock Used # INFO: 25540 ns RP LTSSM State: RECOVERY.RCVRLOCK # INFO: 25964 ns EP LTSSM State: RECOVERY.RCVRLOCK # INFO: 26492 ns EP LTSSM State: RECOVERY.RCVRCFG # INFO: 26660 ns RP LTSSM State: RECOVERY.RCVRCFG # INFO: 27812 ns RP LTSSM State: RECOVERY.IDLE # INFO: 28108 ns EP LTSSM State: RECOVERY.IDLE # INFO: 28188 ns EP LTSSM State: L0 # INFO: 28340 ns RP LTSSM State: L0 # INFO: 29344 ns Current Link Speed: 2.5GT/s # INFO: 29344 ns # INFO: 30368 ns EP PCI Express Link Control Register (0040): # INFO: 30368 ns Common Clock Config: System Reference Clock Used # INFO: 30368 ns # INFO: 31952 ns # INFO: 31952 ns EP PCI Express Capabilities Register (0001): # INFO: 31952 ns Capability Version: 1 # INFO: 31952 ns Port Type: Native Endpoint # INFO: 31952 ns # INFO: 31952 ns EP PCI Express Device Capabilities Register (00008000): # INFO: 31952 ns Max Payload Supported: 128 Bytes # INFO: 31952 ns Extended Tag: Not Supported # INFO: 31952 ns Acceptable L0s Latency: Less Than 64 ns # INFO: 31952 ns Acceptable L1 Latency: Less Than 1 us # INFO: 31952 ns Attention Button: Not Present # INFO: 31952 ns Attention Indicator: Not Present # INFO: 31952 ns Power Indicator: Not Present # INFO: 31952 ns # INFO: 31952 ns EP PCI Express Link Capabilities Register (0103F411): # INFO: 31952 ns Maximum Link Width: x1 # INFO: 31952 ns Supported Link Speed: 2.5GT/s # INFO: 31952 ns L0s Entry: Supported # INFO: 31952 ns L1 Entry: Not Supported # INFO: 31952 ns L0s Exit Latency: More than 4 us # INFO: 31952 ns L1 Exit Latency: More than 64 us # INFO: 31952 ns Port Number: 01 # INFO: 31952 ns Surprise Dwn Err Report: Not Supported # INFO: 31952 ns DLL Link Active Report: Not Supported # INFO: 31952 ns # INFO: 33136 ns # INFO: 33136 ns EP PCI Express Device Control Register (0010): # INFO: 33136 ns Error Reporting Enables: 0 # INFO: 33136 ns Relaxed Ordering: Enabled # INFO: 33136 ns Max Payload: 128 Bytes # INFO: 33136 ns Extended Tag: Disabled # INFO: 33136 ns Max Read Request: 128 Bytes # INFO: 33136 ns # INFO: 33136 ns EP PCI Express Device Status Register (0000): # INFO: 33136 ns # INFO: 34160 ns EP PCI Express Virtual Channel Capability: # INFO: 34160 ns Virtual Channel: 1 # INFO: 34160 ns Low Priority VC: 0 # INFO: 34160 ns # INFO: 39136 ns # INFO: 39136 ns BAR Address Assignments: # INFO: 39136 ns BAR Size Assigned Address Type # INFO: 39136 ns --- ---- ---------------- # INFO: 39136 ns BAR1:0 256 MBytes 00000001 00000000 Prefetchable # INFO: 39136 ns BAR2 Disabled # INFO: 39136 ns BAR3 Disabled # INFO: 39136 ns BAR4 Disabled # INFO: 39136 ns BAR5 Disabled # INFO: 39136 ns ExpROM Disabled # INFO: 41120 ns # INFO: 41120 ns Completed configuration of Endpoint BARs. # WARNING: 42288 ns Unable to find a 256B BAR to setup the chaining DMA DUT; skipping test. # INFO: 42288 ns --------- # INFO: 42288 ns TASK:downstream_loop # INFO: 43696 ns Passed: 0004 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 45136 ns Passed: 0008 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 46608 ns Passed: 0012 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 48096 ns Passed: 0016 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 49640 ns Passed: 0020 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 51240 ns Passed: 0024 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 52824 ns Passed: 0028 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 54456 ns Passed: 0032 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 56160 ns Passed: 0036 same bytes in BFM mem addr 0x00000040 and 0x00000840 # INFO: 57872 ns Passed: 0040 same bytes in BFM mem addr 0x00000040 and 0x00000840 # SUCCESS: Simulation stopped due to successful completion! # Break in Function ebfm_log_stop_sim at ../../common/testbench//altpcietb_bfm_log.v line 96 # Stopped at ../../common/testbench//altpcietb_bfm_log.v line 96 # quit Но к этому бы инструкцию по-подробнее. Изменено 12 февраля, 2010 пользователем Methane Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба Народ, если взять ПЛИС с PCIe коркой внутри, то никаких софт-коре покупать не надо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
disel 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба для ксалинкса не нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба для ксалинкса не нужно. Я на Альтеру больше нацелен. По идее должно быть также. Тоесть плисина за $500 и больше ничего не нада. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
max77 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба Для Xilinx ядро до х8 вроде бы бесплатное. Это было для Viretx-5 семейства. К старым версиям ПЛИС ядро было покупное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 12 февраля, 2010 Опубликовано 12 февраля, 2010 · Жалоба Для Xilinx ядро до х8 вроде бы бесплатное. Это было для Viretx-5 семейства. К старым версиям ПЛИС ядро было покупное. Ну не хочется мне на Ксилинкс переучиваться. И смысла нет. Я где-то слышал (а может мне это и приснилось) что для Альтер, где PCIe уже есть, ничего покупать не надо. Народ, на PCI есть SMBus. Ктонить по ней пробовал ПЛИС грузить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 14 февраля, 2010 Опубликовано 14 февраля, 2010 · Жалоба Вы прежде, чем искать подумайте, как эта модель могла бы выглядеть. Особенно в части PnP: для этого туда пришлось бы половину винды переписать. Кстати у ментора в квесте есть готовый PCI-E чеккер, судя по описанию очень даже функциональный. Конечно это не драйвер PCI-E, а чеккер, но тем не менее. Так что думаю что модели должны быть %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 15 февраля, 2010 Опубликовано 15 февраля, 2010 · Жалоба Кстати у ментора в квесте есть готовый PCI-E чеккер, судя по описанию очень даже функциональный. Конечно это не драйвер PCI-E, а чеккер, но тем не менее. Так что думаю что модели должны быть %) Ментор кваста-сим? Блин, примере от альтеры, черт голову сломит! Не могли сделать один проект, где только PCI, и не мешать в него DDR2 и прочее. Вот бы чего такого почитать, типа RTL, но с пояснением, и чтобы PCI было в одной стороне а nCONFIG в другой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
disel 0 15 февраля, 2010 Опубликовано 15 февраля, 2010 · Жалоба Ну не хочется мне на Ксилинкс переучиваться. И смысла нет. Я где-то слышал (а может мне это и приснилось) что для Альтер, где PCIe уже есть, ничего покупать не надо. Народ, на PCI есть SMBus. Ктонить по ней пробовал ПЛИС грузить? А к SMBus можно получить доступ в компе? И зачем грузить ПЛИС таким образом? Чем джитаг не устраивает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Methane 0 15 февраля, 2010 Опубликовано 15 февраля, 2010 · Жалоба А к SMBus можно получить доступ в компе? А чего нет? LInux же вычитывает таким образом температуру процессора итд. Но SMBus не подходит по другим причинам. И зачем грузить ПЛИС таким образом? Чем джитаг не устраивает? Тем что хотелось, воткнули плату, загрузили в нее прошивку через SMBus, она определилась как PCIe и поехала работать. Захотели, сменили прошивку даже не перезагружая комп. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 15 февраля, 2010 Опубликовано 15 февраля, 2010 · Жалоба Ментор кваста-сим? C:\questasim\docs\pdfdocs\questa_monitors_ref.pdf -> Chapter 13 PCI Express -> The QVL PCI Express monitor can be instantiated in a standard configuration for checking PCI Express implementations. It also can be instantiated in a PIPE configuration for checking PHY Interface for PCI Express implementations. The monitor works in both Gen1 and Gen2 mode and can be instantiated separately in both mode. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться