Builder 1 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Это самое дешевое. EP1C3T100C8N : 5,18 уев в розницу. А где по столько берут? На самой альтере пишется что 10.7 USD http://www.buyaltera.com/scripts/partsearc...ame=544-1664-ND На www.altera.ru тоже подороже заметно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Вот этого не совсем понял. Как я себе представлял - CPLD могут быть на PLA или PAL архитектуре.. Речь не о структуре логических блоков, по большому счету плевать на это, если и так и эдак можно сделать тоже самое, а об управлении ими - у части лэтиса (ispMACH 4000, MachXO), у MAX-II и у кулранеров она производится от SRAM-ячеек, в которые при power-up производится перегрузка данных из flash. Именно этим они "не честные", а сродни FPGA + Config ROM. В MAX3000/7000, GAL, ispGAL, ispMACH 4A5 управление происходит непосредственно от flash, что приводит к отсутствию того промежутка времени, за которые SRAM-based семейства "приходят в себя" после подачи питания. Зато из-за этого у них есть свои недостатки, например нельзя простым методом по включении питания инициализировать триггеры в 1. Или ценой потери одной ячейки, или внешним резетом. И жрут они больше, так как матрица EEPROM не отваливается в power down. Кстати, про кулранеры для меня это открытием было. Я их держал "про запас" как честные CPLD, готовые к работе мгновенно после включения питания, и не имеющих лишних сущностей, которые потенциально могут дать сбой. А оказалось - обманулся.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Как оказалось, и все кулранеры тоже не совсем, и половина лэтиса (они тоже SRAM-based!!!!). Остались честными только MAX3000/7000 и несвежие lattice. И вот как бы они не вымерли. Вы несовсем правильно используете терминологию: SRAM-based PLD - это PLD со SRAM-Based Logic Generator (т.е. LUT, на котором строятся FPGA), а признаком CPLD является PAL Logic Generator (или более совершенный PLA Logic Generator, как у CoolRunner 1 и 2). А то, что сейчас CPLD копируют содержимое EEPROM в SRAM для экономии энергии... ну такая вот технология применяется... на мой взгляд это не плохо и не хорошо, просто это так есть. Кстати, даже класcический Xilinx CPLD - XC9500 копирует содержимое EEPROM в SRAM, которым и управляются конфигурационные ключи. Однако, SRAM-based PLD у Alter'ы и Xilinx несколько отличаются построением. На мой взгляд Alter'овские Cyclon’ы (с 1 по 3) всё-таки поближе будут своими LAB к CPLD'шным Functional Block, нежели Xilinx'овскме CLB (и Slice). Вот этого не совсем понял. Как я себе представлял - CPLD могут быть на PLA или PAL архитектуре. CR вроде как относится к PLA, т.е. формально CPLD, хотя с прибамбасами типа Dual-Edge FF, CoolClock, DataGate... Да в CollRunner 2 наворотили всякого мелкого приятного, но генератор логической функции PLA, а значит CollRunner 1 и 2 - CPLD. (кто не верит - путь проверит, например у производителя). В ближайшее время CPLD с рынка не уйдут, есть решения где они очень хорошо живут, пока CPLD (с размером до 256 включительно) стоят дешевле, чем самые мелкие MAX II и Spatran-3AN. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Кстати, даже класcический Xilinx CPLD - XC9500 копирует содержимое EEPROM в SRAM, которым и управляются конфигурационные ключи. С чего Вы это взяли? Откуда такая информация? у MAX-II и у кулранеров она производится от SRAM-ячеек, в которые при power-up производится перегрузка данных из flash. У MAX II это так. А вот откуда Вы взяли, что у CR так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Вы несовсем правильно используете терминологию: SRAM-based PLD - это PLD со SRAM-Based Logic Generator В моем контексте SRAM-based означает именно то, что информация, управляющая ключами разводки и логикой работы хранится в SRAM, которая требует загрузки в процессе power-up. Не важно, LUT это, или не LUT, а без загрузки этой SRAM устройство не работает. Ну а аббревиатура CPLD вообще по большому счету ни к чему не привязывает - Complex Programmable Logic Device. Под честностью же я подразумеваю работу по аналогии с прародителями, т.е. PAL/GAL, т.е. работа в режиме сразу после power-up, что подразумевает отсутсвие конфигурационной SRAM вообще в каком либо ее проявлении. А вот откуда Вы взяли, что у CR так? Из внимательного чтения документации. Ссылку Boris_TS недавно давал. У LAttice тоже на эту тему документ есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Из внимательного чтения документации. Ссылку Boris_TS недавно давал. У LAttice тоже на эту тему документ есть. Да, согласен. Вы правы у CR II это так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Однако, SRAM-based PLD у Alter'ы и Xilinx несколько отличаются построением. На мой взгляд Alter'овские Cyclon’ы (с 1 по 3) всё-таки поближе будут своими LAB к CPLD'шным Functional Block, нежели Xilinx'овскме CLB (и Slice). Ну и не очень сильно они отличаются. Как я понял - альтера умеет бить свои LUT4 на несколько LUT2 для арифметического режима. И имеет отдельные цепи синхронной загрузки, сброса, асинхронной загрузки и каскадирования регистров. Xilinix же на пару с LAttice имеют режим SRAM, но не имеют многообразия режимов работы LE и такого набора цепей загрузок-сбросов. Что тут лучше - не могу сказать. 50/50. Но и там LUT4, и тут LUT4. Где-то на каких-то структурах альтерская структура дает серьезную фору, а где-то, возможно, полезна и возможность распределенной памяти. Касаемо разводки - структуры очень похожи, особенно в части быстрых переносов. Альтера сделала еще SLOADы, SCLEARы и ALOADы, потратив часть кристалла на это (подозреваю, что у L и X она потрачена на организацию той же распределенной памяти). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба С чего Вы это взяли? Откуда такая информация? А вот откуда Вы взяли, что у CR так? Читаем в XAPP440 - Power On Behavior of Xilinx CPLDs третий абзац: CPLDs must reset to a known state and load an internal configuration pattern (EPROM) into volatile logic cells (SRAM), extremely quickly, to appear ”instantaneously on.” In the case of CoolRunnerTM CPLDs, to save power, internal EPROM cells are powered down after configuration. Configuration is also performed in XC9500TM, XC9500XLTM, and XC9500XVTM CPLD families as the power supply voltage rises, though due to architecture differences the mechanics are significantly different. Loading the EPROM into volatile memory saves power, but comes with the price of extended configuration time. To speed up configuration, a fast state machine starts early – when the VCC is about two-thirds of the way to VCCMIN. This presents a gap in output pin tracking, as the pins remain unconfigured until the configuration point. They become configured when their SRAM cells are loaded. Ну и не очень сильно они отличаются. Как я понял - альтера умеет бить свои LUT4 на несколько LUT2 для арифметического режима. И имеет отдельные цепи синхронной загрузки, сброса, асинхронной загрузки и каскадирования регистров. Xilinix же на пару с LAttice имеют режим SRAM, но не имеют многообразия режимов работы LE и такого набора цепей загрузок-сбросов. Что тут лучше - не могу сказать. 50/50. Но и там LUT4, и тут LUT4. Где-то на каких-то структурах альтерская структура дает серьезную фору, а где-то, возможно, полезна и возможность распределенной памяти. Касаемо разводки - структуры очень похожи, особенно в части быстрых переносов. Альтера сделала еще SLOADы, SCLEARы и ALOADы, потратив часть кристалла на это (подозреваю, что у L и X она потрачена на организацию той же распределенной памяти). Чтобы не быть голословным положу общую схему Slice (CLB - этообъединение 4 Slice, у каждого CLB свой магистральный коммутатор). 1. Ну, как делать LOAD сквозь цепь переносов, я уже показывал с соседней теме. Если очень надо загружать напрямую, то есть 2 варианта блокировки переносов: а) Через MULTAND. б) Собственно говоря - прямое поддавление входного переноса. После этого SLOAD особого преемущества не имеет. 2. SCLEAR - ну в Slice к паре триггеров одновременно подходит и RST/CLR, и SET/PRE. Т.к. использование асинхронного сброса (предустановки) черевато, то обычно он не используется. Для каждого Slice независимо конфигурируется синхронность/асинхронность сбросов/предустановок. Поэтому, думаю у Xilinx это место более богатое, чем у Alter'овских Cyclon'ов. 3. LUT4 - он и в африке LUT 4, но у Xilinx он может работать и как Disributed RAM 16x1 Два LUT4 одного Slice могу образовывать DualPort Disributed RAM 16x1. Еще можно сконфигурировать LUT4, как SHR16 - 16 битный Shift Register. И для Disributed RAM, и для Shift Register есть специальные трассы? позволяющие каскадировать элементы (наращивать глубину адреса). В Alter'овских FPGA ничего подобного нет ! Или я ошибаюсь ??! (DualPort Disributed RAM прекрасно подходит для перехода из одного clock domain в другой. А Shift Register можно использовать, как линию задержки динамически управляемой длинны.) 4. LAB имеет только разных 2 CE и 2 CLK на все 16 триггеров - или не так ??? А каждый Slice имеет независимый (от других Slice'ов) управляющие входы CE, CLK и т.п. 5. "Касаемо разводки - структуры очень похожи" только на первый мутный взгляд (с очень из далека и на общую структуру). Разуете глаза и Вы увидите разницу: LAB и CLB достаточно сильно отличаются, поэтому и разводочный ресурс реализован несколько по разному. 6. У Coclon 3 в IOB нет Pulldown - мелочь, а как неприятно... Да и у Spartan-3A очень богатая поддержка всяческих I/O стандартов (в т.ч. и LVPECL (!), TMDS, RSDS и много чего другого). При необходимости, в Spartan-3A парные DDR триггера могут тактироваться 2 разными по природе clock'ами. Но это уже вопросы Unholly War. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
StewartLittle 45 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба А где по столько берут? На www.altera.ru тоже подороже заметно... Для ленивых - цены с сайта, а неленивым - "Стучитесь, и откроют Вам! " (с) За подробностями - в личку. В ближайшее время CPLD с рынка не уйдут, есть решения где они очень хорошо живут, пока CPLD (с размером до 256 включительно) стоят дешевле, чем самые мелкие MAX II и Spatran-3AN. Ошибочка у Вас :laughing: Если сравнивать цены, то дешевле самой мелкой MAX II (которая EPM240) будут CPLD'шки объемом до 128 макроячеек. К примеру, EPM3128 уже на четверть дороже, чем EPM240. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Ошибочка у Вас :laughing: Всё может быть. С Alter'ой не работаю, поэтому давал информацию с чужих слов (недавно прикидывали: какую ПЛИС дешевле поставить - сейчас переуточняем, спасибо за полезное замечание). Если сравнивать цены, то дешевле самой мелкой MAX II (которая EPM240) будут CPLD'шки объемом до 128 макроячеек. К примеру, EPM3128 уже на четверть дороже, чем EPM240. Это просто замечательно, что FPGA со встроенной Flash дешевле ! Правда, остается еще вопрос цены обвязки... тех же преобразователей питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба После этого SLOAD особого преемущества не имеет. Если на него так однобоко смотреть - то да, не имеет. Но SLOAD работает в любом режиме работы LE. В том числе и не в арифметическом. И в результате можно иметь LUT4 + SLOAD + LOADDATA одновременно, правда с ограничением, что один из входов LUT тот же LOADDATA. 2. SCLEAR - ну в Slice к паре триггеров одновременно подходит и RST/CLR, и SET/PRE. Т.к. использование асинхронного сброса (предустановки) черевато, то обычно он не используется. Для каждого Slice независимо конфигурируется синхронность/асинхронность сбросов/предустановок. Поэтому, думаю у Xilinx это место более богатое, чем у Alter'овских Cyclon'ов. Не знаете, не говорите. У альтеры одновременно подведены SLOAD, ALOAD/PRE, ACLR и SCLR. Т.е. допустимо ОДНОВРЕМЕННОЕ использование и асинхронного сброса, и асинхронной загрузки или предустановки, и синхронного сброса и синхронной загрузки. А с учетом того, что практически во всех проектах имеется глобальный асинхронный сброс всей системы параллельно с локальными, управляемыми от ядра, асинхронными сбросами отдельных периферийных блоков и с кучей локальных синхронных (уже синтезированных с различных HDL-конструкций, автоматов, и т.п.), это очень нужно. 3. И для Disributed RAM, и для Shift Register есть специальные трассы? позволяющие каскадировать элементы (наращивать глубину адреса). В Alter'овских FPGA ничего подобного нет ! Или я ошибаюсь ??! У альтеры вместо этого предыдущий пункт, значительно более развитая системя сбросов-загрузок-предустановок. Плюс есть register chain, которая по аналогии с carry chain каскадирует триггеры в сверхскоростной сдвиговый регистр без занятия ресурсов разводки. Где это в xilinx? Я не вижу аналогичных shift_in и shift_out, но для триггеров, а не для SHR16. Чисто из своего опыта - distributed ram ни разу не понадобился, он есть в lattice, с которыми я работаю, есть в xilinx, для которого не раз синтезировал на пробу. А вот асинхронные входы параллельно с синхронными и сложной логикой на входе постоянно задействованы и оптом (один из последних проектов потребовал имплементации точной функциональности SN74ACT8990, там я изплевался из-за этой темы с Lattice, имеющей похожую структуру LE на X.). Касаемо SHR16... И зачем нужен регистр сдвига на 16 бит с единственным отводом от 16-го? Редкость. Хотя, не спорю, полезная. А вот сдвиговый регистр на 16 бит с отводами от каждого бита - сколько угодно. При чем при этом сами LUT остаются полностью свободны и все ресурсы разводки тоже. А, кстати, блочная память в X может переключаться в режим сдвигового регистра? В альтере да. 4. LAB имеет только разных 2 CE и 2 CLK на все 16 триггеров - или не так ??? А каждый Slice имеет независимый (от других Slice'ов) управляющие входы CE, CLK и т.п. Во первых LAB (Cyclone, я про него наизусть помню) состоит из 10 LE. Да, каждый LAB содержит по две штуки сигналов CLK, CE, ACLR и по одному SCLR, ALOAD/PRE, SLOAD, ADDnSUB. А куда их больше-то на десяток триггеров? Если переход из домена в домен, то всегда из лаба в лаб. Два клока разве что для паковки независимой логики разных доменов в один лаб. А вот [A/S][CLR/PRE/LOAD] маловато... Хотя бы по три каждого вида бы надо бы. На прототипировании заказных микрух мне этих ресурсов к сожалению обычно маловато. Да и даже на 16 LE, как вроде в последнем циклоне, хватит двух клоков за глаза. Сложно себе представить задачу, настолько напичканную различными клоками, чтобы нехватило этого ресурса. 5. "Касаемо разводки - структуры очень похожи" только на первый мутный взгляд (с очень из далека и на общую структуру). Разуете глаза Это Вы глаза разуйте, тут уже речь про разводку вне LAB/CLB, а не внутри них. Я-то, похоже в отличие от Вас, собирал много разных проектов под разные ПЛИС разных производителей, имеющих совершенно разные архитектуры, и с памятью распределенной, и без нее, и с разными LUT-ами, и со slice-ами, и с LAB-ами, и не обременен религиозной зависимостью от какой-то одной фирмы... Я ведь ни разу не сказал, что xilinx хуже. Я всего лишь говорю о том, что для каждой отдельно взятой задачи будет лучшим какой-то определенный чип какой-то одной фирмы, и вовсе не обязательно это будет altera или xilinx. Но пока из своей практики у меня не было такого проекта, который бы эффективнее был решен на xilinx-е (эффективность это в первую очередь себестоимость). Но как только появится, я его ни на секунду не задумываясь применю. У каждой архитектуры есть свои плюсы и свои минусы. И именно какой-то определенный плюс или их совокупность "выстреливает" в каждом отдельно взятом случае. тех же преобразователей питания. Там есть варианты со встроенным LDO (как и у LatticeXP, которая уже полноценная фпга с PLL и памятью с защищенной флешью и не сильно далекой от максов-2 ценой (для примера я только что получил партию LFXP3E-3TN100C по $8)). Для тех, кого напрягает обвязка, но не напрягает падение на LDO. Но у всех них есть большая беда, о которой говорилось выше, это необходимость затратить время на пересылку Flash->RAM :( :( :( PS А slice очень смахивает на под корень кастрированный ALM от Arria :), приведенный ниже : Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Если на него так однобоко смотреть - то да, не имеет. Но SLOAD работает в любом режиме работы LE. В том числе и не в арифметическом. И в результате можно иметь LUT4 + SLOAD + LOADDATA одновременно, правда с ограничением, что один из входов LUT тот же LOADDATA. Да, каждый LAB содержит по две штуки сигналов CLK, CE, ACLR и по одному SCLR, ALOAD/PRE, SLOAD, ADDnSUB. А куда их больше-то на десяток триггеров? Если переход из домена в домен, то всегда из лаба в лаб. Два клока разве что для паковки независимой логики разных доменов в один лаб. А вот [A/S][CLR/PRE/LOAD] маловато... Хотя бы по три каждого вида бы надо бы. На прототипировании заказных микрух мне этих ресурсов к сожалению обычно маловато. Да и даже на 16 LE, как вроде в последнем циклоне, хватит двух клоков за глаза. Сложно себе представить задачу, настолько напичканную различными клоками, чтобы нехватило этого ресурса. Я смотрел на проблемы отсутствия SLOAD и как бы их обойти... Да без SLOAD иногда понадобиться использовать 2 LUT4 сцепленных каскадно, или более хитро, ISE 9.2 уже научился уже это делать хорошо,.. даже слишком хорошо. А SLOAD - один на весь LAB, также как и ALOAD, SCLR; а ACLR и CLKEN - только два на все LAB триггера. Да, эти управляющие линии очень приятны, но уже очень их ограниченный набор на весь LAB... А жаль, задумка полезная, побольше бы было таких независимых линий и было бы очень хорошо. У Xilinx FPGA на каждый Slice приходит по своему CE, CLK, CLR/RST, PRE/SET - правда, есть архитектурный недостаток - эти сигналы всегда подаются на оба триггера в Slice. Но в Slice только 2 триггера,.. а в LAB до 16. А с учетом того, что практически во всех проектах имеется глобальный асинхронный сброс всей системы параллельно с локальными, управляемыми от ядра, асинхронными сбросами отдельных периферийных блоков и с кучей локальных синхронных (уже синтезированных с различных HDL-конструкций, автоматов, и т.п.), это очень нужно. У Xilinx есть GSR (Global Set/Reset), только он сбрасывает все триггеры кристалла, поэтому эти цепи выброшены из схемы Slice. А по поводу активного использования асинхронных сбросов и предустановок только недавно (в пределах полугода назад) обсуждался вред такой техники работы - уж очень надо аккуратно работать с ними - не все могут справиться, поэтому с синхронными сигналами Set/Reset понадежней получается. Плюс есть register chain, которая по аналогии с carry chain каскадирует триггеры в сверхскоростной сдвиговый регистр без занятия ресурсов разводки. Где это в xilinx? Я не вижу аналогичных shift_in и shift_out, но для триггеров, а не для SHR16. А зачем... между соседними CLB сигналы передаются по коротким трассам - это я и имел ввиду под разницей разводочного ресурса, в Spartan и Virtex между соседними CLB груда трас... и все они быстрые (поэтому их и не выпячивают с помпой), а что по ним передавить - неважно: выход логики X (Y) или выход триггера XQ (YQ), причем всё равно какого Slice из имеющихся в CLB. А в пределах CLB данные передаются еще быстрее. Чисто из своего опыта - distributed ram ни разу не понадобился, он есть в lattice, с которыми я работаю, есть в xilinx, для которого не раз синтезировал на пробу Он действительно не всегда нужен, но когда нужен, то очень полезен. Для чтения Distributed RAM - асинхронная память. При любом использовании LUT4 можно использовать и FF, правда, если LUT4 используется не как ROM, то с некоторыми небольшими ограничениями (clock у них общий...) А вот, например, в Pico Blase на 32 LUT собирается 16 16-разрядных регистров S0-S15 с 2 выходами, со встроенными дешифраторами адреса, выходными коммутаторами и почей обвязкой характерной для SRAM - получается очень компактно и блочная память не расходуется. Касаемо SHR16... И зачем нужен регистр сдвига на 16 бит с единственным отводом от 16-го? Редкость... поэтому место отвода динамически задается адресом (входными данными LUT'а - 4 бита) - и можно выбирать какую ячейку мы хотим увидеть от 1 до 16. Есть еще и специальный выход для каскадирования - там всегда данные с 16-ой ячейки. А вот сдвиговый регистр на 16 бит с отводами от каждого бита - сколько угодно. При чем при этом сами LUT остаются полностью свободны и все ресурсы разводки тоже. Ну пользуйте триггеры в Spartan - кто Вам не даёт ? При этом тоже можно использовать оба LUT4 сколько влезет. Про то, что у Xilinx все короткие трассы соединения достаточно "быстрые" - я написал выше, да и ниже тоже. А, кстати, блочная память в X может переключаться в режим сдвигового регистра? В альтере да. По моему не может, для этого понадобится собрать внешний генератор адреса... А если нужет не очен длинный сдиговый регистр (например на 64 бита) можно воспользоваться теми самыми SHR16, соединенными каскадно, а блочную память использовать для чего-либо более полезного. Во первых LAB (Cyclone, я про него наизусть помню) состоит из 10 LE. CycloneII Architecture, 2 абзац: The logic array consists of LABs, with 16 logic elements (LEs) in each LAB. Cyclone III Device Handbook, Volume 1: The logic array block (LAB) consists of 16 LEs and a LAB-wide control block. Ну да мне всё-равно. Это Вы глаза разуйте, тут уже речь про разводку вне LAB/CLB, а не внутри них. У X есть груды local line - это линии с малым временем распространения сигнала на "близкие" расстояния. У Spartan-3A от каждого CLB расходятся local lines предназначенные для достаточно быстрой (для предельных частот работы ПЛИС) к восьми соседним CLB. Для передачи данных на большые расстояния есть local lines пробрасывающие сигнал на 3 и 6 CLB одновременно, если надо еще дальше, то используется каскадное включение local lines, или уже long line. Если не лень гляньте FPGA Editor'ом в любую Xilinx FPGA и Вы увидите все детали этого кристалла (и заметьте: разводочный ресурс потребляет очень много места в Xilinx FPGA). Я всего лишь говорю о том, что для каждой отдельно взятой задачи будет лучшим какой-то определенный чип какой-то одной фирмы, и вовсе не обязательно это будет altera или xilinx. Но пока из своей практики у меня не было такого проекта, который бы эффективнее был решен на xilinx-е (эффективность это в первую очередь себестоимость). Но как только появится, я его ни на секунду не задумываясь применю. У каждой архитектуры есть свои плюсы и свои минусы. И именно какой-то определенный плюс или их совокупность "выстреливает" в каждом отдельно взятом случае. Мои соседи сидят на Cyclone 1, 2 и 3, он им подходит больше, в т.ч. и из-за большего количества "маленьких" (4K) блоков памяти на триггер - такие задачи. А мне больше подходит Xilinx FPGA... - такие задачи. А slice очень смахивает на под корень кастрированный ALM от Arria :) Да весьма похож, но не он (нет Distributed RAM)... интересно кто появился раньше Virtex 1 или Arria ? P.S. Недеюсь нигде не опечатался. Вот, наверное, и описаны основные + и - для Spartan-3x и Cyclon 1, 2, 3... в сравнении так сказать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба У Xilinx есть GSR (Global Set/Reset), только он сбрасывает все триггеры кристалла, поэтому эти цепи выброшены из схемы Slice. А по поводу активного использования асинхронных сбросов и предустановок только недавно (в пределах полугода назад) обсуждался вред такой техники работы - уж очень надо аккуратно работать с ними - не все могут справиться, поэтому с синхронными сигналами Set/Reset понадежней получается. Ну про на столько глобальный сброс, как GSR я просто умолчал, он и во всех альтерах есть... Касаемо асинхронных сбросов и предустановок - я не могу без них, 90% задач на ПЛИС это отладка прототипов заказных ИМС, а там использование асинхронных входов норма жизни, соотв. и ПЛИСки нужны такие, в которые удобнее ложатся эти конструкции. А зачем... между соседними CLB сигналы передаются по коротким трассам Ну локальная разводка тоже быстрая, и не менее быстрая. Но не на столько, на сколько специальные цепи переноса и каскадирования. Однако X и L не стали делать цепи каскадирования, аналогичные цепям переноса. А А - стала. Несмотря на то, что ресурсов локальной разводки у них у всех хватает. Кстати, L с X по ходу друг у друга архитектуру прут... Кто у кого - х.з., по крайней мере Lattice более старая фирма, чем Xilinx. CycloneII Architecture, 2 абзац: The logic array consists of LABs, with 16 logic elements (LEs) in each LAB. Я написал про просто Cyclone. не II, не III, а просто Cyclone, как известного мне наизусть, чтобы в доки не лазить... Да, потом они увеличили до 16-ти, из-за того, что быстродействие сильно поднялось и можно строить 16-битные сумматоры с той же и большей скоростью на внутриLAB-ных быстрых переносах, что 10-ти раньше. Да весьма похож, но не он (нет Distributed RAM)... интересно кто появился раньше Virtex 1 или Arria ? Некорректное сравнение. Virtex 1 надо сравнивать с Mercury, может со Stratix, но не с Arria. Кто там раньше появился хрен знает, давно это было. Там, в стратиксах, вроде тоже ALM похожие были. А Arria (и Arria-II) это довольно свежая разработка, у X я не уверен, что в ее нише есть кто-то, с кем можно сравнивать. У Lattice вот есть - LatticeECP2/M и LatticeECP3. Касаемо distributed RAM это принцип альтеры - не тратить ресурсы на то, что по ее мнению архитектурное излишество. Лучше блочной побольше и помельче, и полезных мулек типа ALOAD/SLOAD/SCLR побольше (которых маловато по кол-ву трасс). Я в общем-то за это, так как если вдруг без distributed будет не обойтись, то выбор широк на стороне. ЗЫ. В Arria-II LAB может быть переключен в блок двухпортовой памяти MLAB 32х20 или 64х10, так что все таки они решили, что распределенная память полезна. Докучи еще в ALM за счет двух LUT-ов может быть сформирован третий синхронный регистр, что тоже неплохо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Касаемо distributed RAM это принцип альтеры - не тратить ресурсы на то, что по ее мнению архитектурное излишество. Лучше блочной побольше и помельче, и полезных мулек типа ALOAD/SLOAD/SCLR побольше (которых маловато по кол-ву трасс). Я в общем-то за это, так как если вдруг без distributed будет не обойтись, то выбор широк на стороне. Насколько слышал, отсутствие distributed RAM у А связано с тем, что эти фичи обставилены патентами. Только вот в последних Стратиксах выкрутились немного. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 21 мая, 2009 Опубликовано 21 мая, 2009 · Жалоба Насколько слышал, отсутствие distributed RAM у А связано с тем, что эти фичи обставилены патентами. Да ну нафиг, при патентовании топологии ИМС там легко уйти почти от любой патентованной фичи. Это не то, что делается так, и только так, и никак иначе. LAttice вот делает себе вместе с Xilinx, и никто ни к кому не придирается :) Просто не на столько она нужна, чтобы ради нее перепахивать в корне всю архитектуру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться