-
Постов
774 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Весь контент alexadmin
-
Кстати, вопрос в рамках полуночного бреда... А существуют ли технологии которые бы позволяли в масштабах близких к промышленным избавить кристалл от пластикового корпуса после чего перепаковать его в другой?
-
Дежавю... Table 1. FLEX 10K Device Features Feature EPF10K50 Typical gates (logic and RAM) 50,000 Logic elements (LEs) 2,880 Logic array blocks (LABs) 360 Embedded array blocks (EABs) 10 Total RAM bits 20,480 240-Pin PQFP/RQFP EPF10K50 User pins: 189 ПЛИС на 50 тыс.вентилей 5576ХС1Т 240-выводной металлокерамический корпус для поверхностного монтажа Параметр Значение Типовая логическая емкость, вент. 50000 Количество логических элементов 2880 Количество логических блоков 360 Емкость встроенной памяти, бит 20480 Количество триггеров 3184 Количество пользовательских выводов 189
-
Есть мнение, что оно будет работать с квартусом ;)
-
Я бы для начала глянул в RTL Viewer - что там происходит на самом первом этапе компиляции. Если и тут проблемы, то точно бага в исходниках.
-
Естественно, как меняется частота - точно так же нужно управлять и NCO. При этом, повторюсь, ошибка по частоте будет почти всегда присутствовать, но не будет превышать для рассмотренного примера величины 855 Hz. Обычно такая ошибка не имеет практического значения.
-
Не совсем так. В NCO можно задавать целые преращения фазы с шагом 1. В итоге разрешающая способность зависит от разрядности аккумулятора NCO и частоты работы. Таким образом, если взять рассмотреный уже пример, то получится следующее: Для того, чтобы задать частоту 22.4 МГц необходимо установить константу 22.4/112*2^16=13107.2. Округляем до 13107 и получаем результирующую частоту 13107/2^16*112 = 22.399658203125 МГц. В целом, для частоты 112 МГц и 16-разрядного аккумулятора макимальная ошибка по частоте составит 1/2*1/2^16*112MHz=0.0008544921875 MHz = 855 Hz
-
Какие хитрые люди. А я прочитав строчку из сравнения платной и бесплатной версии "System designsoftware Nios II Embedded Design Suite Free for both versions of Quartus® II software" грешным делом было решил, что начиная с 9ой версии квартуса ниос доступен бесплатно.
-
Вот, это оно и есть - значения из формулы выше, умноженные на 2^15-1 (16-ти разрядные знаковые числа). Если вы, возьмете, к примеру, частоты 22.4 и 112 МГц (соотношение 1 к 5), то получится набор: >> t=[0:4]; >> sin(1/5.*t*2*pi)*32767 ans = 0 31163 19260 -19260 -31163 >> cos(1/5.*t*2*pi)*32767 ans = 32767 10126 -26509 -26509 10126
-
Какие конкретно значения? Для частот, кратных четырем - вы уже посчитали. В общем случае это sin(Fs/Fnco*i*2Pi), cos(Fs/Fnco*i*2Pi), где i=0...(int(Fnco/Fs)-1). Соответственно, чем больше кратность частот, тем длиннее последовательность. PS отмасштабированное, конечно, под вашу разрядную сетку
-
Ну если вам ничто не мешает - то хорошо. Вся проблема только в том, сможете ли вы с нужным качеством получить клок произвольной частоты под ваш входной сигнал. И что делать, если нужно настраиваться на разные частоты приема. Впрочем это тоже вопросы решаемые...
-
У вас вырожденный случай кратных частот: 28*4=112. Если бы вместо 28 у вас сигнал был 27, то вы бы оценили преимущества ;-) Вообще говоря, при подобных кратных частотах могут возникать неприятные эффекты, я бы вас посоветовал для начала помоделировать это и посмотреть на спектр. В Matlab/Simulink к примеру.
-
Да, точно так. Ясно. Я с Xilinx с восьмой версии что ли не работал, как-то непривычно все теперь ;)
-
Давно не работал с Xilinx и напоролся сейчас, никак не могу понять: стоит задача назначить пины ввода-вывода в определенный банк не указывая конкретного местоположения. Опция в редакторе назначения PlanAhead "Place I/O ports in an I/O Bank" сразу сама раскладывает все пины по конкретным местоположениям. При этом создается банальный констрейн типа NET "DataA[0]" LOC = AL15; Вручную просто поле номера банка не редактируется (как в квартусе, к примеру) Как можно сделать, что я хочу, из графического редактора? Пока я назначения руками прописал в ucf, но как-то это кривенько... ЗЫ версия 11.2
-
Я бы сказал, скорее, что это фундаментальное свойство языка. Поэтому действительно, переназначать клок внутри модуля не стоит
-
CORDIC для Virtex5
alexadmin ответил VladimirB тема в Среды разработки - обсуждаем САПРы
1. Мне кажется там должен быть какой-то механизм обратной совместимости. По крайней мере в стародавние времена я использовал ядра от virtex (или v2) на virtex4. 2. А в кордике DSP вообще используется ли? Ведь сам алгоритм это только сложения-вычитания. Обычно на логике отлично реализуется. -
CORDIC для Virtex5
alexadmin ответил VladimirB тема в Среды разработки - обсуждаем САПРы
Сгенерить ядро для Virtex4 или дугой сходной архитектуры. Почти наверняка работать будет. -
В виде абстрактной идеи: в опциях квартуса есть галочка автоматической конверсии gated clocks в clock enables (сам не пользовался). Может быть и ISE такое же есть?
-
Та же вещь. Более того, сам пункт "Timing-driven compilation" в настройках был еще то ли в 7 то ли в 6 версии. В 8 исчез. В 9, кстати, опять вернулся в виде "Timing-driven synthesis"
-
В инструкции к веревке (толщиной в пол руки), которую я давеча покупал в хозяйственном магазине, было написано: "Не должна использоваться в областях, связанных с риском для жизни". Подозреваю, что если бы я поискал для областей "связанных", то веревка могла бы остаться той же самой, но стоила бы порядка на два дороже.
-
Stratix II, PLL
alexadmin ответил spectr тема в Работаем с ПЛИС, области применения, выбор
Возможно точность представления данных. В мегагерцах редко кто считает, обычно берут нс. 150 МГц это 6.(6) нс. Например, если отбросить все после 3-го знака, то 6.666 нс получается 150.015 МГц. -
В продолжение темы - успел ли кто-нибудь уже опробовать 9-й квартус на многоядерной системе? Интересует поддержка 4-х и более ядер. На 8 квартусе два ядра использовались только на этапе разводки и то со средней загрузкой 1.4-1.7.
-
Если не хочется постигать signed/unsigned, то: продолжайте использовать std_logic_vector. используйте знаковый пакет USE IEEE.std_logic_unsigned.all; к вашим входным данным добавьте (конкатенацией) слева нулевой битик (т.к. число всегда положительное). типа signal b_signed, c_signed, dif : std_logic_vector(12 downto 0); ... b_signed <= '0' & b; c_signed <= '0' & c; dif <= b-c; Вуаля. dif - значение разности ваших входов в знаковом виде. Ну а дальше с ним что хотите делайте, помня про расширение разрядности по необходимости.
-
1. Debug не нужен. Можно просто запустить (Run), указав в настройках подключаться к имеющейся системе. Вроде должно работать. 2. Есть отдельная программа nios2-terminal. Запускается из оболочки ниоса.
-
Если откинуть проблемы с дизайном, то можно попробовать поменять САПР на более свежий.
-
Yoo, ну вам ведь уже не один раз сказали - во втором циклоне на pll можно подать сигнал только со специализированного входного пина.
