Как бы потихонечку освоить работу с FPGA

Печатные платы, программируемая логика, разработка и изготовление аппаратуры

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

newold86 wrote:
Lavr wrote:3. Вы прицепили внешний задающий генератор (возможно, 50МГц ? )
...
Иногда нужно следовать самому простому объяснению :) Генератор там на 12 или сколько там нужно Ориону МГц. Внешний - потому что внутреннего у CPLD (да и у FPGA) нет.
Ок!.. :wink: :kruto:
Я просто размышляю, что вот тут разработчики внешний генератор хоть явно и не прицепили,
но, тем не менее, - припасли... 8)
Image
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

newold86 wrote:А вообще настоятельно рекомендую почитать приложенный файл:
synch.pdf
Ну в общем-то обычные правила грамотной схемотехники, даже если не касаться ПЛИС.

В литературе очень неплохо изложены здесь, как мне кажется:
"Функциональные узлы цифровой автоматики"

А приложенный файл в переводе и со ссылкой на него популярно излагают здесь:
Нестабильность проектов ПЛИС
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Но вобще говоря, кое-что несколько непривычно и забавно! :o

Вот так (как обычно привыкли) счетчики делать - нельзя! :wink:
adv70000.gif
Но счетчики следует делать вот так - как сумматор состояния выхода
регистра с единицей... 8)
count_s0.png
Я бы, наверное, нарошно не придумал такое :lol:
Видимо, понапихано у них там кучи сумматоров, по одному на каждый LU...
(щютка)
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Vasil Ivanov
Doomed
Posts: 413
Joined: 11 Dec 2003 14:34

Re: Starting with FPGA

Post by Vasil Ivanov »

Lavr wrote:Но вобще говоря, кое-что несколько непривычно и забавно! :o

Вот так (как обычно привыкли) счетчики делать - нельзя! :wink:
adv70000.gif
Но счетчики следует делать вот так - как сумматор состояния выхода
регистра с единицей... 8)
count_s0.png
Я бы, наверное, нарошно не придумал такое :lol:
Видимо, понапихано у них там кучи сумматоров, по одному на каждый LU...
(щютка)
Меня терзают смутные сомнения... ты что, собрался схемы рисовать ?. Избавляйся от этого рудимента и все пиши на VHDL, Verilog или System Verilog (SV). Если выберешь SV, то будь в курсе, что он не поддерживается в Xilinx ISE.
Vasil Ivanov
vasil-i@yandex.ru
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Starting with FPGA

Post by newold86 »

Vasil Ivanov wrote:Меня терзают смутные сомнения... ты что, собрался схемы рисовать ?. Избавляйся от этого рудимента и все пиши на VHDL, Verilog или System Verilog (SV).
Я уже пытался отговорить, с кучей аргументов - не помогло :)
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

Ну, джентльмены, не ругайтесь! :lol: Да, я собираюсь порисовать схемы... Потому что мне это просто еще и нравится! :kruto:

Вы же сначала тоже порисовали схемы? Вот и я сначала немного порисую... :ewink:

Как там говорила КПСС? 8) - Все нации придут к коммунизму, но каждая - своим путём... :wink:


P.S. Хотя, если быть честным, я всё же начал с Verilog HDL...
iLavr
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Starting with FPGA

Post by fifan »

Да что вы к Lavr'у пристали - если хочет пусть рисует, vhdl успеет попробовать.
Я начинал со схемного ввода и сейчас наполовину им пользуюсь. Ничего страшного в схемном вводе нет.
viv-pm
Novelist
Posts: 31
Joined: 17 Mar 2015 21:54

Re: Starting with FPGA

Post by viv-pm »

Специально проделал опыт с EPM3064.
Работающий JTAG никак не мешает работе проекта в ПЛИС - можно
прочитать идентификаторы, состояние выводов.
А вот при обращении по JTAG к регистрам внутрисистемного
программирования проект тут же прекращает работу -
по крайней мере входы/выходы переходят в Z.
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Starting with FPGA

Post by fifan »

По поводу неправильных построений схем и их описания. Вот недавний пример. Попробуйте без ошибок описать на vhdl вот эту схему - у меня не получилось - пришлось рисовать и вставлять как компонент в проект на vhdl. Так работает и нет проблем, а то была ошибка про неправильный сигнал тактирования (вход C триггера).
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Starting with FPGA

Post by newold86 »

fifan wrote:Попробуйте без ошибок описать на vhdl вот эту схему
Запросто :)

Code: Select all

LIBRARY ieee;
USE ieee.std_logic_1164.all; 

LIBRARY work;

ENTITY Block1 IS 
	PORT
	(
		ROMTD :  IN  STD_LOGIC;
		A14 :  IN  STD_LOGIC;
		A15 :  IN  STD_LOGIC;
		NASS :  IN  STD_LOGIC;
		IDP :  OUT  STD_LOGIC
	);
END Block1;

ARCHITECTURE bdf_type OF Block1 IS 

SIGNAL	SYNTHESIZED_WIRE_0 :  STD_LOGIC;
SIGNAL	DFF_inst5 :  STD_LOGIC;
SIGNAL	SYNTHESIZED_WIRE_1 :  STD_LOGIC;
SIGNAL	SYNTHESIZED_WIRE_2 :  STD_LOGIC;

BEGIN 

SYNTHESIZED_WIRE_0 <= NOT(ROMTD);

SYNTHESIZED_WIRE_2 <= NOT(SYNTHESIZED_WIRE_0 AND A14 AND A15);

SYNTHESIZED_WIRE_1 <= NOT(A14 AND A15);

IDP <= DFF_inst5 AND SYNTHESIZED_WIRE_1;

PROCESS(SYNTHESIZED_WIRE_2,NASS)
BEGIN
IF (NASS = '0') THEN
	DFF_inst5 <= '0';
ELSIF (RISING_EDGE(SYNTHESIZED_WIRE_2)) THEN
	DFF_inst5 <= '1';
END IF;
END PROCESS;

END bdf_type;
Схема была слишком мелкая, поэтому точно названия выводов не рассмотрел, но это не важно.

Естественно, я тут сжульничал :) - нарисовал схему и попросил Quartus сделать для нее VHDL, но суть от этого не меняется (оптимальность кода - мы об этом сейчас не говорим)... Кстати, не совсем понимаю, на что могло ругаться - вроде все довольно прозрачно...
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

newold86 wrote:Естественно, я тут сжульничал :) - нарисовал схему и попросил Quartus сделать для нее VHDL...
А вот если теперь проверить наоборот: открываем новый проект, создаем файл VHDL,
подставляем в него текст из поста выше, компилируем...
А потом смотрим вьюером - соберет ли Quartus исходную схему или его мнение изменится?
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Starting with FPGA

Post by newold86 »

Lavr wrote:
newold86 wrote:Естественно, я тут сжульничал :) - нарисовал схему и попросил Quartus сделать для нее VHDL...
А вот если теперь проверить наоборот: открываем новый проект, создаем файл VHDL,
подставляем в него текст из поста выше, компилируем...
А потом смотрим вьюером - соберет ли Quartus исходную схему или его мнение изменится?
Прежде, чем постить, проверил :)
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

newold86 wrote:
Lavr wrote:А вот если теперь проверить наоборот: открываем новый проект, создаем файл VHDL,
подставляем в него текст из поста выше, компилируем...
А потом смотрим вьюером - соберет ли Quartus исходную схему или его мнение изменится?
Прежде, чем постить, проверил :)
Ну тогда утверждение, что "схемный дизайн ведет в тупик" выглядит несколько странно... 8)
iLavr
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Starting with FPGA

Post by newold86 »

Lavr wrote:Ну тогда утверждение, что "схемный дизайн ведет в тупик" выглядит несколько странно... 8)
Вообще не вижу ничего странного - понятно, что схемы такого размера хоть "вручную" из блоков FPGA собирай, разницы особой не будет. И преобразование в VHDL в этом случае тоже будет более-менее понятное (хотя штук 5 позорных строчек даже здесь я все-таки удалил, не вынесла душа поэта)... А вот что-то побольше превратится в совершенно нечитаемое месиво кода.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Starting with FPGA

Post by Lavr »

newold86 wrote:
Lavr wrote:Ну тогда утверждение, что "схемный дизайн ведет в тупик" выглядит несколько странно... 8)
Вообще не вижу ничего странного...
Ну и я вот не вижу ничего странного, тем более тупикового, в том, чтобы немного порисовать
схемы в Quartus, используя схемный дизайн.

А до чего-то большого мне пока ещё далеко... созреть для этого постепенно надо... :wink:
iLavr