Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Для начинающих (http://zx-pk.ru/forumdisplay.php?f=43)
-   -   Изучение с "нуля" VHDL и ПЛИС Xilinx (http://zx-pk.ru/showthread.php?t=24076)

palsw 29th October 2014 03:41

Viktor2312,
Quote:

Квартус как всегда делает мозг с лицензией, стоит сейчас как вроде пробная на 30 дней, почему не понятно, сделал всё как описано в реадми и как в прошлый раз делал
качал квартус с торрента как Вам давали ссылку и кряк отлично работает.Накатывал сверху SP1 - кряк подходит.Затем качал SP2- ему не нужна установка 9.1 - он отдельную папку делает и можно двумя сразу пользоваться версиями.крак опять же подходит от 9.1.Установил на 3х компах - xp и win7 x64.

---------- Post added at 01:38 ---------- Previous post was at 01:34 ----------

с микросхемой 74HC244, так как она может работать и диапазоне 3,3...5В? только эту микросхему и ставить и питать от самой платы FPGA.она кмоп и выравнивает уровни между LPT =FPGA.Если питать отдельным проводом +5в задерутся сигналы до +5в ТТЛ (4,6).

---------- Post added at 01:41 ---------- Previous post was at 01:38 ----------

есть у меня камень не нужный EP1C3T144C8N - хочу купить переходник на макетку и смогу присоединиться к обучению :)

Viktor2312 29th October 2014 05:55

Quote:

Originally Posted by palsw (Post 749181)
она может работать и диапазоне 3,3...5В?

Посмотрел сейчас datasheet на неё, у ниё диапазон 2...6 В, так что и при 2,5 В будет прекрасно работать, жаль что при 1,8 В уже никак. SN74HC244N_datasheet

---------- Post added at 05:18 ---------- Previous post was at 05:14 ----------

И получается если питать от платы где установлена сама ПЛИС, то и не нужно выводить отдельный шнурок питания, как у меня сделано, на фото выше, так как питание через 10-pin разъём и будет на программатор заводиться. Как-то я сразу не сообразил.

---------- Post added at 05:45 ---------- Previous post was at 05:18 ----------

Вот уже к Ewgeny7 скорее просьба или к тому, кто может глянуть, я пока не умею, будет ли работать этот код, хочу поделить частоту на 3.

Code:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity divider is
      port(
            clk : in std_logic;
            q_out : out std_logic);
end divider;

architecture st of divider is
      signal cp : std_logic;
      signal cnt : std_logic_vector (1 downto 0);
begin
      cp <= clk xor cnt (1);
      process (cp, cnt)
      begin
            if (falling_edge(cp)) then
                  cnt <= cnt + 1;
            end if;
      end process;
      q_out <= cnt (1);
end st;

Код синтезировался без ошибок.

http://img-fotki.yandex.ru/get/4506/...7d0a2_orig.bmp
st_001

---------- Post added at 06:03 ---------- Previous post was at 05:45 ----------

Ещё не понял, что запустил, но есть предупреждения:

WARNING:Power:1337 - Clock frequency for clock net "cp_inv" is zero.
WARNING:Power:1369 - Clock frequency for one or more clocks was not found through

Что они значат, я примерно понимаю, понимаю, что не нравится в моём коде, но переписывать и проверять лень, пока, поразбираюсь дальше.

---------- Post added at 06:07 ---------- Previous post was at 06:03 ----------

Вот это, я так понял, она мне отображает ресурсы которые я схавал на кристалле своей схемкой, очень мало...

http://img-fotki.yandex.ru/get/2814/...458bc_orig.bmp
st_002

---------- Post added at 06:40 ---------- Previous post was at 06:07 ----------

Правильнее, наверное будет так этот же код записать:
Code:

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity divider is
      port(
            clk    : in std_logic;
        q_out  : out std_logic);
end divider;

architecture st of divider is
      signal cp : std_logic;
      signal cnt : std_logic_vector (1 downto 0);
begin
      process (clk,cp)
      begin
            if (falling_edge(clk)) then
                  cp <= clk xor cnt (1);
            end if;
      end process;
     
      process (cp,cnt)
      begin
            if (falling_edge(cp)) then
                  cnt <= cnt + 1;
            end if;
      end process;     
      q_out <= cnt (1);
end st;



---------- Post added at 06:55 ---------- Previous post was at 06:40 ----------

Хотя судя по схеме которую она выдала, поставив D-триггер после элемента исключающее ИЛИ, что и правильно сделала, так как я именно это ей и написал сделать, но схема уже будет работать ни так как нужно...

http://img-fotki.yandex.ru/get/5111/...a30f3_orig.bmp
st_003

Vladimir_S 29th October 2014 06:06

Quote:

Originally Posted by Viktor2312 (Post 749185)
так как питание через 10-pin разъём и будет на программатор заводиться.

Вообще то через 4.

Viktor2312 29th October 2014 11:34

Quote:

Originally Posted by Vladimir_S (Post 749194)
Вообще то через 4.

Я имел в виду, что через 10-ти контактный разъём JTAG будет заводиться (естественно через 4-й контакт), а не от отдельного 2-х контактного шнурка.

Vladimir_S 29th October 2014 11:38

Quote:

Originally Posted by Viktor2312 (Post 749238)
Я имел в виду, что через 10-ти контактный разъём JTAG будет заводиться

Да я уже понял.Вначале подумал, что ты десятый пин имел в виду.

Ewgeny7 29th October 2014 13:17

Quote:

Originally Posted by ivagor (Post 749058)
К 13-14 это тоже относится? Если да, то намекни, где почитать про

Я не пользуюсь этими версиями.
Перебрав разные, остановился на Quartus 9.1 с сервиспаком, ссылку на который я и давал Виктору.
Просто начиная с десятой версии, в кактусе отсутствует штатный симулятор, и всем предлагают пересесть на модельсим.
Бесспорно, модельсим круче штатного, но меня напрягает в каждом проекте настраивать его, посему я остался 9.1.
Настройка лицензии - несложная, всё описано.
Открываем в кактусе Tools->License setup. Смотрим там номер Network card. Копируем его в клипборд, открываем в блокнотике файлик лицензии quartus.dat, прилагаемый к дистрибутиву, и командой Remove All заменяем "хххххххххх" на эти циферки сетевой карты. Две секунды, и файл лицензии готов. Сохраняем, тыкаем кактус носом в этот файлик и живем спокойно.

---------- Post added at 12:17 ---------- Previous post was at 12:12 ----------

Про уровни сигналов JTAG.
Сейчас меня закидают помидорами в очередной раз, и будут правы по сути.
Нужны преобразователи уровней.
Но - поставьте последовательно сигналам JTAG резисторы 100 ом, и спокойно прошивайте хоть пятивольтовые, хоть трехвольтовые чипы без преобразователей.
Мы в России живем, у нас это работает.

ivagor 29th October 2014 13:36

Понятно, я (сугубо в познавательных целях) вроде 7.2 примерно так лицензировал (конечно же, потом я его сразу удалил).

Ewgeny7 29th October 2014 13:41

Quote:

Originally Posted by Viktor2312 (Post 749185)
Вот уже к Ewgeny7 скорее просьба или к тому, кто может глянуть

Первый вариант работает, но - с иголками-провалами.
Второй вариант - не работает, на выходе всегда 0.

Viktor2312 29th October 2014 13:54

Quote:

Originally Posted by Ewgeny7 (Post 749259)
Настройка лицензии - несложная, всё описано.
Открываем в кактусе Tools->License setup. Смотрим там номер Network card. Копируем его в клипборд, открываем в блокнотике файлик лицензии quartus.dat, прилагаемый к дистрибутиву, и командой Remove All заменяем "хххххххххх" на эти циферки сетевой карты. Две секунды, и файл лицензии готов. Сохраняем, тыкаем кактус носом в этот файлик и живем спокойно.

У меня там: 000000000000

Это нормально?

---------- Post added at 14:54 ---------- Previous post was at 14:44 ----------

Quote:

Originally Posted by Ewgeny7 (Post 749259)
Сохраняем, тыкаем кактус носом в этот файлик

И стало у меня вот так:

http://img-fotki.yandex.ru/get/6527/...1cb9dedb_L.bmp
quartus_lic_001

Это нормально, подсунул эти нули, как ты описал выше.

Кстати у меня в реадми, совсем другое написано, что нужно сделать для установки лицензии, в прошлый раз так же кажется делал, чтобы встала лицензия, и ты же мне объяснял как сделать.

Ewgeny7 29th October 2014 13:55

Quote:

Originally Posted by Viktor2312 (Post 749274)
У меня там: 000000000000
Это нормально?

Блин.... У тебя нет сетевой карты на компе?

По поводу делителя - абстрагируйся от микросхем.
Напиши код другого толка:
1. Счетчик, считает до двух, далее сбрасывается. Итого имеем три состояния - 0,1,2.
2. Сигнал выхода инвертируется с каждым сбросом счетчика.
Вот и весь делитель.
Код под спойлером.

Скрытый текст


Code:

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all; 

entity test is
      port(
            clk        : in std_logic;
        q_out        : out std_logic);
end test;

architecture st of test is

signal cnt        : std_logic_vector (1 downto 0);
signal q        : std_logic;

begin

process (clk)
begin
        if (falling_edge(clk)) then
                if (cnt=2) then
                        cnt <= "00";
                        q <= not q;
                else       
                        cnt <= cnt+1;
                end if;       
        end if;
end process;   

q_out <= q;

end st;

[свернуть]


http://savepic.org/6309885.png


All times are GMT +4. The time now is 23:04.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.