Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср ноя 21, 2018 16:46

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Чт окт 28, 2010 04:38 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Ta-ak. :) С генератором, кажется, все понятно, буду пробовать.
А сейчас застрял на такой вот штуке:

Это темплейтик из квартуса, где делаю отладку и моделирование схемы в vhdl для дальнейшего переноса в ISE.

Код:
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity single_port_ram_with_init is

   generic
   (
      DATA_WIDTH : natural := 8;
      ADDR_WIDTH : natural := 6
   );

   port
   (
      clk      : in std_logic;
      addr   : in natural range 0 to 2**ADDR_WIDTH - 1;
      data   : in std_logic_vector((DATA_WIDTH-1) downto 0);
      we      : in std_logic := '1';
      q      : out std_logic_vector((DATA_WIDTH -1) downto 0)
   );

end single_port_ram_with_init;

architecture rtl of single_port_ram_with_init is

   -- Build a 2-D array type for the RAM
   subtype word_t is std_logic_vector((DATA_WIDTH-1) downto 0);
   type memory_t is array(2**ADDR_WIDTH-1 downto 0) of word_t;

   function init_ram
      return memory_t is
      variable tmp : memory_t := (others => (others => '0'));
   begin
      for addr_pos in 0 to 2**ADDR_WIDTH - 1 loop
         -- Initialize each address with the address itself
         tmp(addr_pos) := std_logic_vector(to_unsigned(addr_pos, DATA_WIDTH));
      end loop;
      return tmp;
   end init_ram;   

   -- Declare the RAM signal and specify a default value.   Quartus II
   -- will create a memory initialization file (.mif) based on the
   -- default value.
   signal ram : memory_t := init_ram;

   -- Register to hold the address
   signal addr_reg : natural range 0 to 2**ADDR_WIDTH-1;

begin

   process(clk)
   begin
   if(rising_edge(clk)) then
      if(we = '1') then
         ram(addr) <= data;
      end if;

      -- Register the address for reading
      addr_reg <= addr;
   end if;
   end process;

   q <= ram(addr_reg);

end rtl;


И, вот это: Initialize each address - мне сильно не нравится, потому что руками прописывать контент в память - как-то некузяво, а надо бы его из файла туда вписать.

Вот, и вопрос, как это сделать для Xilinx?

Для Альтеры - сделать просто - запустить megawizard, там создать элемент памяти нужного объема и ширины и указать для него файл с содержимым.
Файл либо в формате mif (memory initialization file - альтеровский формат - который для xilinx вряд ли подойдет).
либо в формате hex (шестнадцатиричный интеловский формат).

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

В общем, хочется те же яйца, но в ISE ;)

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Чт окт 28, 2010 23:14 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Sotnik писал(а):
Скинь мне в гербере. Попробую с первого числа сделать.


Гербер-файлы (RS274D) улетели на e-mail.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Пт окт 29, 2010 00:08 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Цитата:
И, вот это: Initialize each address - мне сильно не нравится, потому что руками прописывать контент в память - как-то некузяво, а надо бы его из файла туда вписать.
А способа создать утилитку, которая вписывала бы нужные события в исходник (в любом объёме) нельзя? Или я что-то неправильно понимаю?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Пт окт 29, 2010 06:34 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вопрос писал(а):
А способа создать утилитку, которая вписывала бы нужные события в исходник (в любом объёме) нельзя? Или я что-то неправильно понимаю?


Этой улитке потребуется, как минимум, ИИ для того, чтобы разбираться, в какое место исходника вписывать данные. Учитывая, что память может использоваться не один раз, не в одной и той же конфигурации (одно-двух-трехпортовая и т.п.), написание такой утилитки становится малореально.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Пт окт 29, 2010 08:27 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
WingLion писал(а):
вопрос писал(а):
А способа создать утилитку, которая вписывала бы нужные события в исходник (в любом объёме) нельзя? Или я что-то неправильно понимаю?


Этой улитке потребуется, как минимум, ИИ для того, чтобы разбираться, в какое место исходника вписывать данные. Учитывая, что память может использоваться не один раз, не в одной и той же конфигурации (одно-двух-трехпортовая и т.п.), написание такой утилитки становится малореально.

А приблизительный алгоритм?
Может, не всё так грустно? МОжно оставлять в исходнике метки для утилитки (внутри комментариев), и некоторые простые случаи могут не требовать ИИ, это уже экономия


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Сб окт 30, 2010 18:05 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6439
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
http://www.msyst.ru/ISE_bramgen.pdf


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Сб окт 30, 2010 23:31 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6439
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
http://www.msyst.ru/ISE_bramvhdl.pdf


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Сб окт 30, 2010 23:51 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6439
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
http://www.msyst.ru/ISE_bramsim.pdf
Уфф. :) Пока все.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Вс окт 31, 2010 08:59 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Хищник писал(а):
http://www.msyst.ru/ISE_bramvhdl.pdf


Сейчас попробовал это vhdl-описание памяти в Quartus II.
vhdl-код квартус принял и не подавился.
Нормально отчитался, что занял 8k именно встроенной памяти.

НО! Quartus не чихнул даже, когда файла bram1.dat не было в папке с vhdl, и ничего не изменилось, когда я его создал (ручками).

Согласно симуляции, память, как была девственно чиста, так и осталась :(

Симуляция записи сработала нормально, и записанные данные считываются нормально,
а начального контента в памяти нет.

Попробовал закоментировать цикл с чтением данных из памяти и на его место вставил
строчки:
Код:
   ram_to_return(1) := "10000001";
   ram_to_return(2) := "10000010";
   ram_to_return(3) := "10000011";


в таком виде инициализация для 3-х ячеек проходит как надо.
Вот, и непонятно, что этому Q-тенку надо?

В ISE ни компилировать, ни симулировать не пробовал. В квартусе пока как-то привычнее.

Пойду читать хелпы квартуса по vhdl...

p.s. A теперь вопрос на засыпку, можно ли так же на VHDL описать и PLL?

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Вс окт 31, 2010 11:58 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 6439
Благодарил (а): 14 раз.
Поблагодарили: 101 раз.
WingLion писал(а):
p.s. A теперь вопрос на засыпку, можно ли так же на VHDL описать и PLL?

http://www.msyst.ru/ISE_clkvhdl.pdf


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Вт ноя 09, 2010 01:30 
Не в сети

Зарегистрирован: Пн окт 05, 2009 18:21
Сообщения: 149
Откуда: Минск
Благодарил (а): 13 раз.
Поблагодарили: 1 раз.
WingLion писал(а):
Sotnik писал(а):
Скинь мне в гербере. Попробую с первого числа сделать.

Гербер-файлы (RS274D) улетели на e-mail.


Сегодня добрался до интернета, катался по России.
Всё получил и всё открылось. CAM 350 v9.1
Только понедельником я ошибся. Извиняюсь... :(
Так что до конца месяца точно сделаю вторым заходом.
До 22 можешь вносить изменения.
Запихни туда и DC на LM2731. :)

Делаю восемь-десять заготовок. Твоих плат столько и будет.

_________________
Сотник.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Вт ноя 09, 2010 05:26 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Sotnik писал(а):
Запихни туда и DC на LM2731.


Вроде, высылал файлы уже с разведенной этой частью схемы.

Сейчас, на всякий случай, перезашлю.

-- через 10 мин --

перезаслал

p.s. письмо ушло с адреса ivan_mak@mail.ru

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Пн ноя 15, 2010 20:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Последняя версия схемы платки VGA_PS2 + монтажная схема.
Список комплектации в табличке на схеме.


Вложения:
Комментарий к файлу: Последняя версия схемы платки VGA_PS2 + монтажная схема.
vga_ps2_doc.pdf [25.55 Кб]
Скачиваний: 382

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Пн ноя 15, 2010 20:56 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
VHDL описание схемы для прошивки в EPM3032ATC44-7:

Код:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY VGA_PS2 IS
PORT(
   CLK : in std_logic;
   IO : in std_logic_vector (7 downto 1);
   R,G,B : out std_logic_vector (3 downto 0);
   VGA_SH,VGA_SV :out std_logic;
   PS2_CLK,PS2_DAT : in std_logic
);
END VGA_PS2;

ARCHITECTURE RTL OF VGA_PS2 IS

attribute chip_pin: string;
attribute chip_pin of clk: signal is "14";
attribute chip_pin of IO: signal is "3,5,6,8,10,12,13";
attribute chip_pin of VGA_SH: signal is "15";
attribute chip_pin of VGA_SV: signal is "18";
attribute chip_pin of B: signal is "19,20,21,22";
attribute chip_pin of G: signal is "28,27,25,23";
attribute chip_pin of R: signal is "35,34,33,31";
attribute chip_pin of PS2_CLK: signal is "42";
attribute chip_pin of PS2_DAT: signal is "43";
   
   signal DR : std_logic_vector (7 downto 1);
   signal DDR : std_logic_vector (14 downto 1);
BEGIN

   process (clk) begin
      if clk'event and clk = '0' then
         DR <= IO;
      end if;
      if clk'event and clk = '1' then
         DDR <= IO&DR;
      end if;
   end process;
   
   R <= DDR (4 downto 1);
   G <= DDR (8 downto 5);
   B <= DDR (12 downto 9);
   VGA_SH <= DDR(13);
   VGA_SV <= DDR(14);

END ARCHITECTURE;


Клавиатурный вход пока не задействован. Сделан только VGA-выход...
В описании заданы альтеровские атрибуты с назначением выводов ПЛИС.
Схема, разумеется, не проверена, т.к. готовой платки еще нет.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Xilinx Spartan KIT SP601
СообщениеДобавлено: Сб ноя 20, 2010 21:55 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Еще один вопросец по ISE назрел.

VHDL файлы компилить-то я научился,
а вот как делать из исходника на VHDL символьный
элемент для размещения на схеме - не нашел.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


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

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


Кто сейчас на конференции

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


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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB