Например TDA7294

 Форум РадиоКот • Просмотр темы - Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Ср фев 21, 2018 11:40:37



Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 76 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Чт ноя 07, 2013 18:09:49 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс май 06, 2012 10:58:33
Сообщений: 370
Откуда: Магадан
Рейтинг сообщения: 0
ПЛИС - epm240 распаяная в микромодуле. Перед первым пуском плисины плату тщательно проверял на правильность.
Дело в том, что это второй раз в жизни прошивал плис, и эта тема (как и сама технология) пока для меня является тёмным лесом полным загадок.

Книжки читал, первый раз прошивал по инструкции, как и сам код писал. Так же как и по инструкции назначал всякие пины (в квартусе). Но в инструкции ни слова как повторно перепрошивать. Стирать его или нет??? и как стирать память. или он автоматом память очищает перед новой прошивкой.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Чт ноя 07, 2013 20:39:02 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт июн 02, 2009 23:38:40
Сообщений: 447
Откуда: Город-герой Москва
Рейтинг сообщения: 0
Ну что ж, теперь хоть производителя узнали - Altera. Теперь надо выяснить, что ты под фразой "прошить ПЛИС" подразумеваешь? Ты флеш память программируешь или просто конфигурируешь саму ПЛИС?


Вернуться наверх
 Профиль  
 
JLCPCB Prototype, Бесплатная доставка первого заказа + $2 на прототип ПП!

Крупнейший производитель печатных плат в Китае, 290,000+ заказчиков, 8,000+ он-лайн заказов в день.

Цена за 10 плат: $2 за 2-х слойную, $15 за 4-х слойную, $74 за 6-ти слойную.

LCSC Parts: Экономия до 50%, большой выбор компонентов в наличии, отправка заказа в день оплаты.

Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Чт ноя 07, 2013 20:40:29 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт июн 02, 2009 23:38:40
Сообщений: 447
Откуда: Город-герой Москва
Рейтинг сообщения: 0
А.. прошу прощения... всё ясно. Надо покумекать... Вообще, здесь несколько может быть вариантов. Но перво наперво в Pin Planner посмотри, точно ли ноги назначены. Эт раз. Во вторых было и у меня нечто похожее... Приведи кусок кода тех сигналов, которые не на своих ногах. И ещё какая частота рабочая? Мне честно говоря с алтеровскими CPLD особо не приходилось ковыряться, но уверен, что принцип тот же что и при прошивки флешки. Её можно как стереть, так и запрограммировать. Естественно, перед тем как туда новую прошивку положить, её желательно отчистить.


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Пт ноя 08, 2013 17:08:56 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс май 06, 2012 10:58:33
Сообщений: 370
Откуда: Магадан
Рейтинг сообщения: 0
Стер память, потом снова залил прошивку. Все равно както не адыкватно работает.
1-Сигнал bclk не проходит через плис. В нутри плис этот сигнал присутствует, так как без него сплитер не работал, и данные дата не инвертировал бы. Его просто нет на выходе. пин41 и пин55.
2- reset_out неправильно работает. На левом канале (пин38) ресет правильно отображается (+3.3 вольта), а на правом канале (пин50) его нет.

Частоты: mclk: 23 - 25 мгц; bclk: 3 - 12 мгц; data - и есть data.

Основное тело программы:
Изображение
сплитер:
Изображение


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Пт ноя 08, 2013 20:41:46 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт июн 02, 2009 23:38:40
Сообщений: 447
Откуда: Город-герой Москва
Рейтинг сообщения: 0
Я к сожалению не спец по разработке проектов для ПЛИС в схемотехническом редакторе, но по поводу bclk_in, первое что бросается в глаза два не один за другим. Это будит оптимизировано. В остальном, честно говоря не понятно. \оптимизатор может выбрасывать лишнюю логику, но если сигнал выведен на внешнюю ногу то он теряться не должен. А MCLK на выходе присутствует? И ещё, всё ли в порядке с микросхемой? Возможно стоит создать совсем простенький проектик (рабочий на 100% например мигалку) и подключить сигналы с него к данным ножкам. И ещё с BCLK_Q - это ведь фактически not(RESET). Если он в 0, то на выходе все нули (в т. ч. и BCLK_Q) т.е. выходной триггер сброшен (наверно). Если он 1 то выходной триггер работает, но BCLK_Q всёравно 0.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Сб ноя 09, 2013 03:41:44 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс май 06, 2012 10:58:33
Сообщений: 370
Откуда: Магадан
Рейтинг сообщения: 0
В корне все не верно. MCLK - тактовая частота ЦАП (25мгц). BCLK - опорная частота потока данных DATA. Все клоки присутствуют в ПЛИС, так как отсутствие клока BCLK в схеме приведет к не работоспособности всей программы.
Последние два Д-тригера 74574 - это реклок. Когда восходящие фронты сигналов выравниваются по времени. Вот почему то сигнал DATA проходит через него, а BCLK нет (хотя частота у них идентична).
Может сигнал утерян чуть раньше??? Квартус при компиляции на энергоэффективность вроде бы не ругался.


Вложения:
I2S.rar [346.07 KiB]
Скачиваний: 249
Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Сб ноя 09, 2013 10:07:37 
Вымогатель припоя
Аватар пользователя

Карма: 3
Зарегистрирован: Ср июн 08, 2011 16:37:56
Сообщений: 615
Откуда: ДВ
Рейтинг сообщения: 0
Что мешает отладить? Выводите всё наружу и двигайтесь от входа до выхода и смотрите где косяк. А вообще лучше писать всё на языке #HDL, чем ковыряться в этих дебрях. Тут желание мало у кого есть в этом разбираться, если вообще у кого то есть. В симуляторе дебажили?

_________________
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Сб ноя 09, 2013 10:27:43 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт июн 02, 2009 23:38:40
Сообщений: 447
Откуда: Город-герой Москва
Рейтинг сообщения: 0
Я говорю про splitter. BCLK_Q на его выходе есть инвертированный RESET поступающий на его вход (по схеме). Не знаю что такое реклок, но у выходных триггеров reset это асинхронный сброс. Ну во всяком случае если это не какой нить хитрый триггер. Одновременно этот же ресет (не инвертированный) сбрасывает и выходные триггеры. А в целом, в соответствии с советом dimitriy91 старые версии кваруса (до 10) имеют встроенный симмулятор. Он и на #HDL и схемотическое описание проекта поддерживает. Не скажу про ModelSim, как он к схемотехнике относится....
P.S.
Verilog к сожалению не разумею(


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Сб ноя 09, 2013 12:05:48 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Вс май 06, 2012 10:58:33
Сообщений: 370
Откуда: Магадан
Рейтинг сообщения: 0
И как раньше не замечал эту ошибку с неправильно подключенной bclk_q.
Осталось разобраться, почему квартус не любит на одну линию вешать несколько выводов. Ведь взять проект "Марсоход", там люди по нескольку штук объединяют в один мегопин. Значит можно.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Сб ноя 09, 2013 12:34:25 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт июн 02, 2009 23:38:40
Сообщений: 447
Откуда: Город-герой Москва
Рейтинг сообщения: 0
Не только можно, но иногда даже нужно! Эти все ресеты - фактически перемычка от входного пина к 2-м выходным. Если бы сигналы использовались внутри ПЛИС то можно было бы списать всё на оптимизатора-озарника... но они выведены на физическую ножку и почему такая штука не фурычет, тем более что один из них работает :dont_know: Ещё раз внимательно посмотрите Assignment Editor или Pin Planner (что больше нравится). Возможно просто забыли ножку назначить и она в воздухе повисла... Если всё норм, на эту ногу другой какой нибуть сигнал выведите, не исключено что в микросхеме косяк...


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Ср дек 04, 2013 18:17:38 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт июн 02, 2009 23:38:40
Сообщений: 447
Откуда: Город-герой Москва
Рейтинг сообщения: 0
И снова здрасте :) Перечитывал тут книжечку одного паренька с незатейливой русской фамилией Понг Чу (Pong Chu) про плис, и остановил внимание на строчке про умножение. Он пишет, что это операция определена для типа integer. Далее в книге он пишет, что дескать умножение это сложная операция и зависит она от того какой у меня софт и аппаратная часть. Затем говорит о встроенных умножителях (я так понял аппаратных), и о том что дескать Xilinx (а в другой книге и Altera не отстаёт) это дело поддерживают. Я написал проектик, скомпилировал его и посмотрел. Всё работает, посмотрел в квартусе на скомпилированную схему, но вот в том что там развилось так и не въехал. Более того, скомпилилось даже деление! При этом в сводной таблице написано, что умножители задействованы не были (чего и стоило ожидать). Может это всё кто нить прокомментировать. И стоит ли пользоваться таким умножением в своих проектах или нет?

P.S. Приведу кодик.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--use IEEE.NUMERIC_STD.ALL;

entity multipl is
port ( d_in : in std_logic_vector(3 downto 0);
d_out : out std_logic_vector(3 downto 0)
);
end multipl;

architecture behavioral of multipl is

signal d_in1 : integer range 0 to 15 := 0;
signal d_out1 : integer range 0 to 15 := 0;

begin

d_in1 <= conv_integer(d_in);
d_out1 <= (d_in1) * 3 ;
d_out <= conv_std_logic_vector(d_out1, 4);


end behavioral;


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Ср дек 04, 2013 20:16:56 
Мудрый кот
Аватар пользователя

Карма: 24
Зарегистрирован: Чт июн 10, 2010 09:55:35
Сообщений: 1779
Откуда: Сибирские Афины
Рейтинг сообщения: 0
Параллельное умножение на 3 это сумма X + (X << 1).
Возможно компилятор счёл неразумным тратить ячейку умножителя на такую ерунду. :)
Попробуйте умножить две шины (два целых числа заранее неизвестных).

_________________
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Ср дек 04, 2013 20:18:11 
Вымогатель припоя
Аватар пользователя

Карма: 3
Зарегистрирован: Ср июн 08, 2011 16:37:56
Сообщений: 615
Откуда: ДВ
Рейтинг сообщения: 0
Кто нибудь собирал платформу с microblaze хоть раз ?

_________________
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Чт дек 05, 2013 20:24:27 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Вт июн 02, 2009 23:38:40
Сообщений: 447
Откуда: Город-герой Москва
Рейтинг сообщения: 0
Kavka, Вы правы... Надо поэкспериментировать!


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Пт дек 27, 2013 09:33:27 
Вымогатель припоя
Аватар пользователя

Карма: 3
Зарегистрирован: Ср июн 08, 2011 16:37:56
Сообщений: 615
Откуда: ДВ
Рейтинг сообщения: 0
Всем привет. Выручайте!!!
Код:
#include "xparameters.h"
#include "stdio.h"
#include "xgpio.h"
#include "xutil.h"
#include "xtmrctr.h"
#include "xintc.h"
#include "mb_interface.h"

#define SIZE 150                       
#define LED_CHANNEL 1

XGpio Gpio;
XTmrCtr XPS_Timer;
XIntc InterruptController;
XTmrCtr* TmrCtrInstancePtr;

unsigned char flag = 0;


void TimerCounterHandler(void *CallBackRef, Xuint8 TmrCtrNumber)
{
flag = ~ flag;   
XGpio_DiscreteWrite(&Gpio,LED_CHANNEL,0xFF);
}

//====================================================
int main (void) {

   /*
    * Enable and initialize cache
    */
   #if XPAR_MICROBLAZE_0_USE_ICACHE
      microblaze_invalidate_icache();
      microblaze_enable_icache();
   #endif

   #if XPAR_MICROBLAZE_0_USE_DCACHE
      microblaze_invalidate_dcache();
       microblaze_enable_dcache();
   #endif


   //Инициализация GPIO драйвера
XGpio_Initialize(&Gpio, XPAR_LEDS_POSITIONS_DEVICE_ID);
   //Установим порты на выход
XGpio_SetDataDirection(&Gpio, LED_CHANNEL,0x0);
    // Установим выходной порт в 1
XGpio_DiscreteWrite(&Gpio,LED_CHANNEL,0x00);


   volatile int j,i,k;
   volatile double time;
   
    float A[SIZE][SIZE] ;
    float B[SIZE][SIZE] ;
    float C[SIZE][SIZE] ;
    float temp;
   
   XGpio_DiscreteWrite(&Gpio,LED_CHANNEL,0x0F);
   
   for( j=0; j < SIZE ; j++ )   
  for( i=0; i < SIZE ; i++ )   
  {
   A[j][i] = 2.34;
   B[j][i] = 1.23;
  }
   
   print("Start \n\r");
   

for( j=0; j < SIZE ; j++ )   
  for( i=0; i < SIZE ; i++ )   
  { 
     temp = 0;
     for( k=0; k < SIZE ; k++ )
     {    
     A[j][k] = 1.2;
     B[j][k] = 1.2;
     temp += A[j][k]*B[k][i];
     }
      C[j][i] = temp;
  }


      
print("Stop \n\r");

XGpio_DiscreteWrite(&Gpio,LED_CHANNEL,0xFF);

return 0;
}



Почему то отказывается выполнять циклы и всё что ниже них :
Код:
for( j=0; j < SIZE ; j++ )   
  for( i=0; i < SIZE ; i++ )   
  { 
     temp = 0;
     for( k=0; k < SIZE ; k++ )
     {    
     A[j][k] = 1.2;
     B[j][k] = 1.2;
     temp += A[j][k]*B[k][i];
     }
      C[j][i] = temp;
  }


Даже при отключенной оптимизации.
volatile - не помогает.

_________________
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Пт дек 27, 2013 13:11:22 
Опытный кот
Аватар пользователя

Карма: 3
Зарегистрирован: Вт апр 12, 2011 19:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
dimitriy91 писал(а):
Начнём с того, что в ПЛИС прошивка храниться не может.

Еще и как может. Семейство Altera MAX, например.

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Пт дек 27, 2013 13:13:35 
Вымогатель припоя
Аватар пользователя

Карма: 3
Зарегистрирован: Ср июн 08, 2011 16:37:56
Сообщений: 615
Откуда: ДВ
Рейтинг сообщения: 0
это CPLD

_________________
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Пт дек 27, 2013 14:20:14 
Опытный кот
Аватар пользователя

Карма: 3
Зарегистрирован: Вт апр 12, 2011 19:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
Спасибо Кэп :)))
CPLD (англ. Complex Programmable Logic Device) — программируемая логическая интегральная схема (ПЛИС)

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Пт дек 27, 2013 14:37:24 
Вымогатель припоя
Аватар пользователя

Карма: 3
Зарегистрирован: Ср июн 08, 2011 16:37:56
Сообщений: 615
Откуда: ДВ
Рейтинг сообщения: 0
О Господи. Вам время своё не жалко тратить на подобное? Ясен пень под ПЛИС я подразумевал FPGA. Вы лучше по микроблайзу подскажите.

_________________
"Ленивый человек в бесчестном покое сходен с неподвижною болотною водою, которая, кроме смраду и презренных гадин, ничего не производит". М.В. Ломоносов


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Мелкие вопросы по ПЛИС ( FPGA/CPLD ) и прошивки на них
СообщениеДобавлено: Пт дек 27, 2013 15:21:23 
Опытный кот
Аватар пользователя

Карма: 3
Зарегистрирован: Вт апр 12, 2011 19:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
По Xilinx к сожалению не подскажу, тк занимаюсь только с Altera.

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 76 ]  На страницу Пред.  1, 2, 3, 4  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y