Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 12.12.2015, 18:13  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Оно понятно. Но ведь мне их солить не надо. Когда все будет готово, посмотрим, куда оно поместится.
Реклама:
Easyrider83 вне форума  
Непрочитано 12.12.2015, 18:58  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Ну, в общем-то да, влёт в 100-ногий корпус уже произошёл.
Следующий минимум 144 пина.
Пока, правда, с одним источником питания...
omercury вне форума  
Непрочитано 12.12.2015, 20:37  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Мне бы хватило и 40 ног. Боюсь, придется искать что-то в QFN. На плате места катастрофически мало.
Помогите разобраться. Задача - при опускании nSSIN задвигать в MISOOUT сначала значение VALUE, а затем передавать MOSSIN, как в обычном регистре сдвига.
Код:
module spi_slave16b
(
    input wire nSSIN,
    input wire SCKIN,
    input wire MOSIIN,
    output wire MISOOUT,
	input [15:0] VALUE
);

reg [15:0] spi_reg;
reg [5:0] bit_cnt = 5'h0;


assign MISOOUT = ~nSSIN ? spi_reg[15] : 1'bz;	

always @ (negedge SCKIN)
    if (~nSSIN)
    begin
		if (bit_cnt ‹ 5'hA)
			begin
				spi_reg ‹= { VALUE[14:0], MOSIIN };
				bit_cnt ‹= bit_cnt + 1'b1;
			end
		else
			spi_reg ‹= { spi_reg[14:0], MOSIIN };
	end
	else
		bit_cnt = 5'h0;
endmodule

Последний раз редактировалось Easyrider83; 12.12.2015 в 21:25.
Easyrider83 вне форума  
Непрочитано 12.12.2015, 22:04  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от Easyrider83 Посмотреть сообщение
Мне бы хватило и 40 ног.
Придётся избавляться от всего "лишнего", в том числе и от контроля принятых битов, от синхронизации с глобал клоком и т.д... По перепаду nSS можно передавать принятые модулем данные дальше.
Нужен ли двусторонний обмен данными? ...хотя он ни на что не влияет.

Давайте определяться с тем, что реально нужно в ПЛИСке.
omercury вне форума  
Непрочитано 12.12.2015, 22:07  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

В общем, да, надо делать все на 16-битных регистрах сдвига. Вот на этом я и застрял пока.
Вроде получилось.
Код:
module spi_slave16b
(
    input wire nSSIN,
    input wire SCKIN,
    input wire MOSIIN,
    output wire MISOOUT,
	input [15:0] READ_DATA,
	output reg [15:0] WRITE_DATA
);

reg [15:0] spi_reg;
reg [5:0] bit_cnt;

assign MISOOUT = ~nSSIN ? spi_reg[15] : 1'bz;	

always @ (negedge SCKIN)
    if (~nSSIN)
    begin
		if (bit_cnt ‹ 5'd15)
			begin
				if (bit_cnt == 5'b0)
					spi_reg = READ_DATA;
				bit_cnt ‹= bit_cnt + 5'b1;
			end
		spi_reg ‹= { spi_reg[14:0], MOSIIN };
	end
	else
		bit_cnt = 5'h0;
		
always @ (posedge nSSIN)
	WRITE_DATA ‹= spi_reg;
endmodule
На входе 16 бит, на выходе столько же.

Последний раз редактировалось Easyrider83; 12.12.2015 в 22:54.
Easyrider83 вне форума  
Непрочитано 12.12.2015, 23:01  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Суперсложный параметрический SPI_slave модуль, без контроля чего-либо вообще...
Ширина (W) по умолчанию 16 бит.
При подключении с параметром принимает значение параметра. При вызове без параметра, ширина, соответственно, умолчальная.
На верилоге подключается так, в скобках после решетки параметр.
SPIslave #(32) имя_экземпляра(.SCKIN(SCK), .MOSIIN,(MOSI), .MISOOUT(MISO), .dataOUT(SPIdata));
PHP код:
// SPI Slave module
// CPOL=0, CPHA=0, MSB first
module SPIslave #(parameter W = 16)
(
    
input    wire            SCKIN,
    
input    wire            MOSIIN,
    
output    wire            MISOOUT,
    
output    reg        [W-1:0]    dataOUT 0
    
);
assign MISOOUT dataOUT[W-1];
always @ (negedge SCKINbegin
            dataOUT 
‹= { dataOUT[W-2:0], MOSIIN };
end

endmodule 
Вложения:
Тип файла: zip SPIslave.zip (350 байт, 18 просмотров)

Последний раз редактировалось omercury; 12.12.2015 в 23:13.
omercury вне форума  
Сказали "Спасибо" omercury
Easyrider83 (12.12.2015)
Непрочитано 12.12.2015, 23:14  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Да, с параметром красивее. Спасибо.
Easyrider83 вне форума  
Непрочитано 13.12.2015, 03:46  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от Easyrider83 Посмотреть сообщение
1. Делитель частоты 1/1250
2. 10 SPI 8 бит
3. 10 ШИМ 8 бит
Итого 207 элементов израсходовал.
1) делитель частоты 1/1250
2) 1 SPI 16 бит
3) 10 ШИМ 8 бит
Индивидуальная загрузка каждого канала, всё параметризовано,
циклон-2 - 155
Мах-II - 157 ячеек.

UPD
256 ШИМ 8 бит - 2710 макро.
Миниатюры:
Нажмите на изображение для увеличения
Название: Image1.jpg
Просмотров: 43
Размер:	47.7 Кб
ID:	85693  
Вложения:
Тип файла: zip PWM_10_Ch.zip (512.8 Кб, 24 просмотров)

Последний раз редактировалось omercury; 13.12.2015 в 12:14.
omercury вне форума  
Сказали "Спасибо" omercury
Easyrider83 (13.12.2015)
Непрочитано 16.12.2015, 11:54  
PavelZX
Временная регистрация
 
Регистрация: 14.11.2011
Адрес: г. Хабаровск
Сообщений: 71
Сказал спасибо: 18
Сказали Спасибо 59 раз(а) в 17 сообщении(ях)
PavelZX на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от pambaru Посмотреть сообщение
EP2C20Q240C8 9 шт.
Я уже давно такие не использую, поэтому:
подарю, кому нужно, бесплатно, т.е. даром.
Оплачу почтовые расходы.
Разрабатываю ускоритель квадрологики, нужно ячеек побольше, если удастся под эти чипы плату развести, или подскажете где можно макетку на 240 ног приобрести.

Кстати, может подскажете "с чего начать". Я пока только пытаюсь вникнуть в тему...

Надо на Верилоге сделать микроядро, вроде процессора, работающее только с двумя битами, для операций с квадрологикой, вот для этого http://geektimes.ru/post/267314/

По сути операции надо задать простой таблицей https://bitbucket.org/PavelZX/uef/do...0%BA%D0%B0.xls
Самое трудное как организовать связь нескольких ячеек одновременно, пока у меня в голове кроме паутины ничего не возникает определённого.

Последний раз редактировалось PavelZX; 16.12.2015 в 12:08.
PavelZX вне форума  
Непрочитано 16.12.2015, 13:36  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: ПЛИС С чего начать?

Сообщение от PavelZX Посмотреть сообщение
Самое трудное как организовать связь нескольких ячеек одновременно, пока у меня в голове кроме паутины ничего не возникает определённого.
Этой проблемой Вам сюда http://arxiv.org/pdf/1512.03547v1.pdf
Impartial вне форума  
 

Закладки

Метки
fpga
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С чего начать? ourlive Электроника - это просто 179 17.04.2012 23:02
ПЛИС - в чем отличия и с чего начать? aleksandr_zh Микроконтроллеры, АЦП, память и т.д 15 08.02.2012 23:45
С чего начать? nickdkn Электроника - это просто 9 12.07.2011 20:13
С чего начать? Митрофаныч Микроконтроллеры, АЦП, память и т.д 17 03.10.2010 21:18
C чего начать? melkij Микроконтроллеры, АЦП, память и т.д 11 21.08.2006 13:39


Часовой пояс GMT +4, время: 18:27.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot