Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 18:37

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Вот так.
Автор Сообщение
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
Авторские экземпляры то прислали?


Сам за ними ползал :) И разлетелись в момент, всем коллегам раздарил.

WingLion писал(а):
Ну, в крайнем случае наймем сыщика из УгРозыска


Все, понял, сам в Питер приеду! :))
Сообщение Добавлено: Ср июл 26, 2006 17:54
  Заголовок сообщения:   Ответить с цитатой
Хищник писал(а):
А я про нее только слышу - что где-то была.... Looool Но 195 - это они ввалили. 150 - нормально, с учетом отпускной цены издательства и накруток.

Авторские экземпляры то прислали? :)
Я когда цену увидел, думал не заказать ли книгу на Озоне. там она 159р. Но, посчитав, что на почтовые расходы они полтинник накинут, решил, лучше брать сразу, раз возможность есть. :)
Но теперь буду знать, что в этом магазине книги дороже чем в интернете.

Хищник писал(а):
(/me испугался и думает, чем его будут ловить) Smile

Ну, в крайнем случае наймем сыщика из УгРозыска :))
Сообщение Добавлено: Ср июл 26, 2006 17:50
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
Только что вернулся из города.
В "Технической Книге", на Пушкинской (СПб) - книга есть - 195р


А я про нее только слышу - что где-то была.... :)) Но 195 - это они ввалили. 150 - нормально, с учетом отпускной цены издательства и накруток.

WingLion писал(а):
П.С. Так что, теперь будем ловить Хищника на предмет автографа


(/me испугался и думает, чем его будут ловить) :)
Сообщение Добавлено: Ср июл 26, 2006 17:37
  Заголовок сообщения:   Ответить с цитатой
Хищник писал(а):
http://www.books.ru/shop/books/246792
? Smile

Только что вернулся из города.
В "Технической Книге", на Пушкинской (СПб) - книга есть - 195р :)

П.С. Так что, теперь будем ловить Хищника на предмет автографа :))
Сообщение Добавлено: Ср июл 26, 2006 17:05
  Заголовок сообщения:   Ответить с цитатой
Да та же ситуация, что и с языками программирования. Какой там самый лучший? В HDL есть своеобразный мейнстрим - VHDL и Verilog. Они практически эквивалентны, и переход на другой язык сам по себе не означает, что схема будет меньше по размеру или быстрее. Еще есть разнообразные "аппаратные Си" - системы на базе Си, преобразующие последовательность операторов в состояния конечного автомата. Ну и никто не мешает изготавливать собственные генераторы шаблонов или параметризованных описаний, тут уж какой входной язык удобнее. А про эффективность не имеет смысла говорить в отрыве от элементной базы. Можно всякого наворотить, в том числе и такого, что в редакторе смотрится очень красиво, а в кремнии - ужасно.
Сообщение Добавлено: Ср июл 26, 2006 00:46
  Заголовок сообщения:   Ответить с цитатой
Кстати, какой из hdl самый перспективный?
А какой самый эффективный?
Сообщение Добавлено: Ср июл 26, 2006 00:40
  Заголовок сообщения:   Ответить с цитатой
А VHDL с Verilog-ом путаются...
Из-за первой буквы 'V'...

И MAX-Plus II на Verilog страшно ругается,
если его вместо VHDL подсунуть :))
Сообщение Добавлено: Вт июл 25, 2006 22:59
  Заголовок сообщения:   Ответить с цитатой
Для разнообразия добавлю примеры на Верилоге...

Код:
// NAND2
module test( in1, in2, out );
input in1, in2; output out;
assign out = !(in1 && in2);
endmodule

// DFF
module test( in1, in2, out );
input in1, in2; output out;
reg ff;
always@(posedge in1)begin
  ff <= in2;
end
assign out = ff;
endmodule

// DFF (одно имя для регистра и для выхода)
module test( in1, in2, out );
input in1, in2; output out;
reg out;
always@(posedge in1)begin
  out <= in2;
end
endmodule

// DFF[8]
module test( in1, in2, out );
parameter width = 8
`define WW witdh-1:0
input[WW] in1, in2; output[WW] out;
reg[WW] out;
always@(posedge in1)begin
  out <= in2;
end
endmodule

// Counter[8]
`define WW witdh-1:0
module test( clk, rst, out );
parameter width = 8
input clk; input rst; output[WW] out;
reg[WW] out;
always@(posedge clk or posedge rst)begin
  if(rst) out <= 0; // корректней 8'h00 или 8'b00000000
  else    out <= out + 1;
end
endmodule


Я сейчас на нем в основном практически работаю для Ксайлинкса... ну и иногда и по старинке на AHDL для Альтеры.
Сообщение Добавлено: Вт июл 25, 2006 22:46
  Заголовок сообщения:   Ответить с цитатой
ВАУ! :)
Сообщение Добавлено: Пн июл 24, 2006 14:53
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
Вот это "побольше" просто и вылезает сразу же, когда пытаешься проект с AHDL на VHDL перевести. Как подумаешь, сколько простых строчек вида
S1 = DFF(s2,s3,,);
надо перевести в "структурированные конструкции", тут же возникает мысль "А ну его нафиг, этот VHDL, AHDL - проще!"
И это, наверняка, не только с тригерами так.


На самом деле на VHDL тоже без проблем можно подключиться к "ножкам" любого компонента. Называется component instantiation

Код:
My_trigger : FD;
port map (clk, d, q);


Другое дело, что после пятого-седьмого такого триггера я закопаюсь в объявлениях и забуду, что и куда идет. Сложные системы очень хорошо делать именно на поведенческом уровне, когда в проекте 10-15 шин по 32 бита, и между регистрами надо обеспечить большое количество связей.

WingLion писал(а):
А еще и с библиотеками вопросы.
Откуда, скажем знать, какой элемент в какой либе находится?
Подключать все подряд?
Читать инструкции на нерусском языке?
Универсальной (почти на все случаи жизни) библиотеки нету...


Можно и все подряд подключить, это же не программирование. Если что-то не требуется, в кристалле его не будет. В библиотеках могут также находиться компоненты и функции "уровня отдела" или "уровня предприятия".

WingLion писал(а):
Чего нехватает, так это книжки "VHDL для чайников".
С AHDL в этом плане как-то попроще.


http://www.books.ru/shop/books/246792
? :)
Сообщение Добавлено: Пн июл 24, 2006 14:20
  Заголовок сообщения:   Ответить с цитатой
Вот это "побольше" просто и вылезает сразу же, когда пытаешься проект с AHDL на VHDL перевести. Как подумаешь, сколько простых строчек вида
S1 = DFF(s2,s3,,);
надо перевести в "структурированные конструкции", тут же возникает мысль "А ну его нафиг, этот VHDL, AHDL - проще!"
И это, наверняка, не только с тригерами так.

Кстати, на AHDL я могу написать вот так:

INCLUDE "test";

а потом его использовать в проекте где-нибудь...

TT = test(input_x,input_y);
____________________________
А еще и с библиотеками вопросы.
Откуда, скажем знать, какой элемент в какой либе находится?
Подключать все подряд?
Читать инструкции на нерусском языке?
Универсальной (почти на все случаи жизни) библиотеки нету...

Чего нехватает, так это книжки "VHDL для чайников".
С AHDL в этом плане как-то попроще.
Сообщение Добавлено: Пн июл 24, 2006 13:59
  Заголовок сообщения:   Ответить с цитатой
WingLion писал(а):
Та-ак...
Вот, что-то не кажется, что "выразительность" не сильно лучше, если не сказать наоборот.

Подключение библиотек то же, по идее, как бы автоматом надо бы, хотя, как знать. И то, что в AHDL одним блоком - SUBDESIGN () BEGIN -- END;
Тут на два блока разбиты, что в общем-то, не кажется более выразительным.


VHDL ориентирован на более интенсивное использование библиотек. В данном случае я набрал вообще только одну строчку, остальное сгенерировалось автоматически, как только я начепятал названия выводов блока. Мощь библиотек проявляется на больших проектах.

Вот триггер:
Код:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity kotrigger is
    Port ( clk : in  STD_LOGIC;
           d : in  STD_LOGIC;
           q : out  STD_LOGIC);
end kotrigger;

architecture Behavioral of kotrigger is

begin

process(clk)
begin
  if clk'event and clk ='1' then
     q<=d;
  end if;
end process;

end Behavioral;


Побольше, да. Потому что поведенческое описание. Зато его достаточно легко модифицировать, добавить сброс (синхронный или асинхронный), этот же текст в architecture опишет и регистр, потому что d и q можно объявить как std_logic_vector(7 downto 0). Текста получается побольше, чем в Verilog-е, зато необходимость явно закрывать синтаксические конструкции (if - end if) делает модуль более структурированным.
Сообщение Добавлено: Пн июл 24, 2006 13:30
  Заголовок сообщения:   Ответить с цитатой
Та-ак... :)
Вот, что-то не кажется, что "выразительность" не сильно лучше, если не сказать наоборот.

Подключение библиотек то же, по идее, как бы автоматом надо бы, хотя, как знать. И то, что в AHDL одним блоком - SUBDESIGN () BEGIN -- END;
Тут на два блока разбиты, что в общем-то, не кажется более выразительным.

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

Код:
    TITLE "invertor";

SUBDESIGN test (
    in1, in2 : INPUT;
    out : OUTPUT;
    )
VARIABLE
    TT : DFF; -- объявление D-триггера
BEGIN
--    out = !(in1 & in2);  -- старое

    TT.clk = in1; TT.d = in2;

--  TT.clrn = VCC;  TT.prn = VCC; -- закоментровано,
--  потому что оно и по умолчанию так.

    out = TT;

--  другой вариант того же самого без обявления TT:
--  out = DFF(in2,in1,,);

END;
Сообщение Добавлено: Пн июл 24, 2006 13:17
  Заголовок сообщения:   Ответить с цитатой
Код:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity kotenok is
    Port ( in1 : in  STD_LOGIC;
           in2 : in  STD_LOGIC;
           kout : out  STD_LOGIC);
end kotenok;

architecture Behavioral of kotenok is

begin

kout <= not (in1 and in2);

end Behavioral;


Вот такие пирожки с котятами. :)
Сообщение Добавлено: Пн июл 24, 2006 12:57
  Заголовок сообщения:   Ответить с цитатой
Кстати, на счет выразительности. Я когда-то пытался на VHDL что-то сделать, но ничего так и не получилось (метод "копи-паста" с чужих исходников не считается).

Вот, например, делаем самый простой элемент на AHDL:

Код:
    TITLE "invertor";

SUBDESIGN test (
    in1, in2 : INPUT;
    out : OUTPUT;
    )
BEGIN
    out = !(in1 & in2);
END;


Сохраняем в файл test.tdf, создаем проект в Квартусе и все компилится

И вот, теперь вопрос, что этому котенку надо, чтоб он полиэтилен жрал? В смысле, как это же самое на VHDL написать?
Сообщение Добавлено: Пн июл 24, 2006 12:41

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


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