реклама на сайте
подробности

 
 
> Создание своего сomponent`а в библиотеке на VHDL, Помогите, кто знает..
Kuzmi4
сообщение Jun 2 2008, 10:20
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Здравствуйте.

Имею свой компонент.
Хочу его засунуть в библиотеку. Что можна было объявить их типа как вот так
Цитата
--Altera megafumctions
LIBRARY altera_mf;
USE altera_mf.all;
--
LIBRARY lpm;
USE lpm.all;

Чтоб потом в архитектуре назначить генерик и порты и юзать свой компонент наподобие
Код
-- counter maping
lpm_counter_component : lpm_counter
    GENERIC MAP (
        lpm_direction => "UP",
        lpm_port_updown => "PORT_UNUSED",
        lpm_type => "LPM_COUNTER",
        lpm_width => 10
    )
    PORT MAP (
        aclr => in_rst_signal,--
        clock => clock,--
        q => counted_value--
    );

Понимаю что плохо искал, но по либам нашёл информацию, А тягать в основном исходнике не особо охота. Хочется сделал, засунул в либу и юзаеш..
Подскажите как это сделать 1111493779.gif
Спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Kuzmi4
сообщение Jun 2 2008, 15:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Делаю как написано сдесь http://electronix.ru/forum/index.php?act=f...t&pid=99478 :
создаю файл mp.vhd, его содержание
Код
package mp is
constant word_size:positive:=16;
end package mp;

Далее добавляю этот фал в прожект.
Прикрепленное изображение

Потом в основном файле прожекта пишу
Код
library mp;
use mp.all;

А после в архитектруре делаю такое объявление
Код
signal tstssignal        : std_logic_vector (word_size-1 downto 0);

В результате кричит
Цитата
Error (10482): VHDL error at my_fifo1.vhd(120): object "word_size" is used but not declared

Тобто получается что он не видит моей декларации....
Просветите пожалуста - как же всё таки правильно создавать и подключать библиотеки 1111493779.gif
Go to the top of the page
 
+Quote Post
o-henry
сообщение Jun 2 2008, 19:25
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 8-03-06
Из: степей Украины
Пользователь №: 15 069



Цитата(Kuzmi4 @ Jun 2 2008, 17:09) *
Потом в основном файле прожекта пишу
Код
library mp;
use mp.all;


Тобто получается что он не видит моей декларации....
Просветите пожалуста - как же всё таки правильно создавать и подключать библиотеки 1111493779.gif


А если вместо этого написать так:
Код
library work;
use work.mp.all;

вроде должно работать (Вы же пакет объявили а не библиотеку)
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jun 3 2008, 08:37
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 o-henry - заработало, ошибок не выдавало. Спасибо a14.gif
А как быть с библиотекой - как её можно создать ?
Go to the top of the page
 
+Quote Post
o-henry
сообщение Jun 3 2008, 08:57
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 435
Регистрация: 8-03-06
Из: степей Украины
Пользователь №: 15 069



Цитата(Kuzmi4 @ Jun 3 2008, 11:37) *
2 o-henry - заработало, ошибок не выдавало. Спасибо a14.gif
А как быть с библиотекой - как её можно создать ?
пожалуйста smile.gif

Цитата(Kuzmi4 @ Jun 3 2008, 11:37) *
А как быть с библиотекой - как её можно создать ?
Навскидку не скажу, не было необходимости такой. Тут уже книжку читать надо, но лень.

P.S. IMHO тему все-таки надо было создать в Языки проектирования на ПЛИС - FPGA programming languages
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jun 3 2008, 09:15
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Да, на счёт либы думаю там действительно сделать, а то тут посещаемость не сильно большая..
Может там больше будет smile.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jun 11 2008, 11:02
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Значит дошли руки - начал я ваять пакет с свои компонентом :
Код
package my_fifo is
--------------------------------------------------------------------------------------------------------------------------package my_fifo is
constant word_size:positive:=16;
--
component my_fifo_component

    generic(
        Volume                :natural:= 4;
        N                :natural:= 4

    );
    port(
        ---*** Input to logic ***---
        -- In Data
        indata                 :    in    std_logic_vector(N-1 downto 0);
        -- In Clk
        input_clock            :    in    std_logic;
        -- In signal 4 catch
        signal2foto            :    in    std_logic;
        --
        ---*** Input from control reg***---
        -- Reset
        rst                :    in    std_logic;
        -- Interrupt Enable
        int_enable            :    in    std_logic;
        -- Signal 2 Start
        start                :    in    std_logic;
        --
        ---*** Output to status register ***---
        -- Empty Flag
        empty                :    out    std_logic;
        -- Half Full flag
        hfull                :    out    std_logic;
        -- Full Flag
        full                :    out    std_logic;
        -- Busy Flag
        busy                :    out    std_logic;
        -- Done Flag
        done                :    out    std_logic;
        --
        ---*** Data output ***---
        -- Out Data
        outdata                :    out     std_logic_vector(N-1 downto 0);
        -- Clock from system 2 output
        out_clk                :    out     std_logic;
        --ISR
        isr                    :    out std_logic;
        --
        ---*** Additional controls ***---
        -- Mux for Read signal
        mux_in                :    in    std_logic;
        -- Rd control
        rd_control            :    in    std_logic

    );
end component;
--******************************
--      FIFO declaration
    COMPONENT scfifo
    GENERIC (
        add_ram_output_register        : STRING;
        almost_full_value        : NATURAL;
        intended_device_family        : STRING;
        lpm_numwords            : NATURAL;
        lpm_showahead            : STRING;
        lpm_type            : STRING;
        lpm_width            : NATURAL;
        lpm_widthu            : NATURAL;
        overflow_checking        : STRING;
        underflow_checking        : STRING;
        use_eab                : STRING
    );
    PORT (
        almost_full            : OUT STD_LOGIC;
        rdreq                : IN STD_LOGIC;
        sclr                : IN STD_LOGIC;
        empty                : OUT STD_LOGIC;
        clock                : IN STD_LOGIC;
        q                : OUT STD_LOGIC_VECTOR (N-1 DOWNTO 0);
        wrreq                : IN STD_LOGIC;
        data                : IN STD_LOGIC_VECTOR (N-1 DOWNTO 0);
        full                : OUT STD_LOGIC
    );
    END COMPONENT;
--******************************
--
end package my_fifo;
---------------------------------------------------------------------------------------------------------------------------
package body my_fifo is
--

????

--
end package body my_fifo;
----------------------------------------------------------------------------------------------------------------------------------

И вот тут стал вопрос - как засунуть архитектуру компонента my_fifo_component в тело пакета ?
help.gif
Брать и писать
Код
architecture arch of my_fifo_component is
....

smile3046.gif

А то в пошустрил по каталогам квартуса - везде только ф-ции описаны или просто декларации компонентов без тела...
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jun 12 2008, 07:47
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Ну если никто не в курсе - то подскажите хотя бы что-то типа саппорта по VHDL как у альтеры например - https://mysupport.altera.com
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 23:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01563 секунд с 7
ELECTRONIX ©2004-2016