Потихоньку начинаю задумоваться над изучением CPLD и в дальнейшем FPGA.
В качестве теста решил соорудить дозик на XC9572XL, но возник ряд вопросов:
Для счета импульсов, надо посчитать 40 секунд времени, а при кварце 32768 это как я догадываюсь ~23 тригера, что эквивалентно 23 из 72 макроечеек, не слишком ли много, или я что-то непонял?
Этож получается что данного кристала может и не хватить на данную задачу когда я накодю туда еще и индикацию на семисигментник + хранение прошлого результата для отображения на дисплей в тот момент пока считается очередной 40ка секундный интервал.
т.е. задача следующяя:
- отсчитать количество импульсов с датчика, за 40 секунд
- отобразить результат на дисплее
- снова считать импульсы 40 секунд, потом изменить инфу на дисплее.
Вопрос: влезит ли в указанный кристал?
Кстати ни у кого нет VHDL кода для динамической индикации на семисигментнике?
Дозиметр на XC9572XL-10VQG44C
- shodan
- Поставщик валерьянки для Кота
- Сообщения: 2087
- Зарегистрирован: Чт май 24, 2012 22:47:39
- Откуда: Тула
- Контактная информация:
Дозиметр на XC9572XL-10VQG44C
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
- Реклама
Re: Дозиметр на XC9572XL-10VQG44C
Да, каждый триггер - одна макроячейка. Каждый выход - одна макроячейка. Сложное логическое выражение тоже может сьесть макроячейку.на выходе data_out можете повесить свой дешифратор. на вход f_dyn подаете тактовые импульсы динамической индикации. Ай нет, там сразу код с выходов делителя. Это для экономии макроячеек.
shodan писал(а):Кстати ни у кого нет VHDL кода для динамической индикации на семисигментнике?
Код: Выделить всё
entity dynamic is
Port ( f_dyn : in STD_LOGIC_VECTOR (1 downto 0);
data0 : in STD_LOGIC_VECTOR (3 downto 0);
data1 : in STD_LOGIC_VECTOR (3 downto 0);
data2 : in STD_LOGIC_VECTOR (3 downto 0);
data3 : in STD_LOGIC_VECTOR (3 downto 0);
grid_sel : out STD_LOGIC_VECTOR (3 downto 0);
data_out : out STD_LOGIC_VECTOR (3 downto 0)
);
end dynamic;
architecture Behavioral of dynamic is
begin
with f_dyn select
grid_sel <= "0001" when "00",
"0010" when "01",
"0100" when "10",
"1000" when "11",
(others => '-') when others;
with f_dyn select
data_out <= data0 when "00",
data1 when "01",
data2 when "10",
data3 when "11",
(others => '-') when others;
end Behavioral;А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- shodan
- Поставщик валерьянки для Кота
- Сообщения: 2087
- Зарегистрирован: Чт май 24, 2012 22:47:39
- Откуда: Тула
- Контактная информация:
Re: Дозиметр на XC9572XL-10VQG44C
Вычитал шокирующюю меня новость: к CPLD невозможно напрямую подключить кварц
Но если я подключу к CPLD квацевый генератор ну скажем на 20MHz (других у меня нету), то верно ли я понял, что лиш на задачу деления частоты до 40ка секундных тиков я потрачу 30 макроечеек ???!!!
т.е. эти самые CPLD по хорошему можно применять лишь для совсем-совсем простых задач, типа эмуляции всеми любимого расширителя КР580ВВ55.
Да и стоят они нехило XC9572XL-10VQG44C 128 р.
В то время как, относительно неплохой спартинчик стоит XC3S100E-4TQG144 234.22 р.
Только вот габарит, лес из линейных стабилизаторов и внешний флеш для этого спартанца нерадует..
UPD:
Накодил делитель 20MHz генератора до 40 секундных тиков + отображение значения счеткика 40ка секундных имтервалов на одном семи-сигментном индикаторе, получилось:
Macrocells Used 44/72 (62%)
Родился вопрос, можно ли как-то малыми габаритами(на плате) получить подходящий для CPLD источник тактового сигнала с частотой к примеру в 1 герц пусть даже с погрешностью в 1-2% ?
Но если я подключу к CPLD квацевый генератор ну скажем на 20MHz (других у меня нету), то верно ли я понял, что лиш на задачу деления частоты до 40ка секундных тиков я потрачу 30 макроечеек ???!!!
т.е. эти самые CPLD по хорошему можно применять лишь для совсем-совсем простых задач, типа эмуляции всеми любимого расширителя КР580ВВ55.
Зачем же тогда их парой пакуют в 100 выводные корпуса? На один вывод данных потритиш все ячейки а на обработку данных вообще ничего не останетсяuldemir писал(а):Каждый выход - одна макроячейка.
Да и стоят они нехило XC9572XL-10VQG44C 128 р.
В то время как, относительно неплохой спартинчик стоит XC3S100E-4TQG144 234.22 р.
Только вот габарит, лес из линейных стабилизаторов и внешний флеш для этого спартанца нерадует..
UPD:
Накодил делитель 20MHz генератора до 40 секундных тиков + отображение значения счеткика 40ка секундных имтервалов на одном семи-сигментном индикаторе, получилось:
Macrocells Used 44/72 (62%)
Родился вопрос, можно ли как-то малыми габаритами(на плате) получить подходящий для CPLD источник тактового сигнала с частотой к примеру в 1 герц пусть даже с погрешностью в 1-2% ?
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
Re: Дозиметр на XC9572XL-10VQG44C
Я написал выход, а не вход. Входы макроячейки не едят, они участвуют во входных выражениях. скажем если сделать на xc9536 пятивходовой И-НЕ, это съест 6 выводов, но только одну макроячейку.shodan писал(а):uldemir писал(а):Каждый выход - одна макроячейка.
Зачем же тогда их парой пакуют в 100 выводные корпуса? На один вывод данных потритиш все ячейки а на обработку данных вообще ничего не останется
То что меньше выпускается дороже и стоит. xc9572 стоит еще дороже чем xc9572xl. Спартаны, как FPGA, кстати, дешевле еще и потому, что там нет flash технологии - по выключении питания они забывают свою конфигурацию, и по включении необходимо её снова заливать.shodan писал(а):Да и стоят они нехило XC9572XL-10VQG44C 128 р.
без проблем. CFPS-109 - кварцевый генератор 32768Гц меньше 9 кв.мм. Я, например, использую 74нс4060 - генератор с делителем на 2^14. с часовым кварцем получаем набор частот до 2Гц (16Гц выпадает - нет вывода). могу порекламироваться: сходите на мой сайт посмотрите что мне удалось сделать на xc9536, xc9572 и xc2c64shodan писал(а):Родился вопрос, можно ли как-то малыми габаритами(на плате) получить подходящий для CPLD источник тактового сигнала с частотой к примеру в 1 герц пусть даже с погрешностью в 1-2% ?
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
- shodan
- Поставщик валерьянки для Кота
- Сообщения: 2087
- Зарегистрирован: Чт май 24, 2012 22:47:39
- Откуда: Тула
- Контактная информация:
Re: Дозиметр на XC9572XL-10VQG44C
во! ЦЕННО! СПАСИБО!uldemir писал(а):могу порекламироваться: сходите на мой сайт посмотрите что мне удалось сделать на xc9536, xc9572 и xc2c64
Дозиметр мало отличается от девушки, он нежный, любит чистоту, и хорошо себя чувствует только под обильным слоем лака.
- Реклама
Re: Дозиметр на XC9572XL-10VQG44C
Опоздал А я хотел посоветовать поискать что-то вроде К176ИЕ5 
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Re: Дозиметр на XC9572XL-10VQG44C
9572XL - 3.3в. А 176ИЕ по ГОСТу требуется 9в. Хотя, если мне память не изменяет, xc95xxXL вроде были 5в TTL tolerant. Но не 9в CMOS же!
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Re: Дозиметр на XC9572XL-10VQG44C
Я же написал "что-то вроде К176ИЕ5" и смайлик поставил.
Приведённая вами 74нс4060 как раз и оно и есть - генератор с делителем.
Приведённая вами 74нс4060 как раз и оно и есть - генератор с делителем.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


