Jump to content

    

проектирование обработки на ПЛИС

Recommended Posts

щещ

добрый день, подскажите пожалуйста.

мне нужно сделать следующее : есть файл инициализации памяти (.mif) отсчеты должны поступать в ПЛИС и ПЛИС должен выдавать последовательно эти самые отсчеты

вот мой код работы :

 

INCLUDE "altsyncram.inc";

Subdesign test
(
    fclk, /init            : input;
    dout[17..0]                        : output;

)

Variable
    ct[11..0]    : dff;

    rom    : altsyncram WITH (WIDTH_A=18, WIDTHAD_A=12,
                        OPERATION_MODE = "ROM", 
                        INIT_FILE = "init.mif");

Begin

    ct[].clk = fclk;
    ct[] = ct[] + 1;
    ct[].clrn = /init;
    
    rom.clock0 = !fclk;    
    rom.address_a[11..0] = ct[11..0];
    dout[17..0] = rom.q_a[17..0];

End;

проблема в том, что при моделировании в VtctorWaveform эти отсчеты показываются последовательно как и нужно, но при загрузки в ПЛИС и выводе результатов в TapSignal у меня выводится только один отсчет.

В чем может быть проблема?  

Share this post


Link to post
Share on other sites

des00
22 minutes ago, щещ said:

Что это значит

Странный вопрос. Ваш же код, вы его таким сделали. На бумажке нарисуйте схему которая у вас получилась, посмотрите какие управляющие сигналы у вас используются и включите логику здравого смысла: если на выходе только одно значение в памяти значит не работает счетчик и т.д. 

 

Share this post


Link to post
Share on other sites

andrew_b
1 час назад, щещ сказал:

Проблема в том, что я только начал изучать ПЛИС

Вы начали не с того. AHDL давно уже мёртв. Изучайте VHDL или на худой конец Verilog.

Share this post


Link to post
Share on other sites

щещ

А так это Мега функция

Я её не сам же написал

Какая разница какой язык будет? 

Можно и vhdl было выбрать

Edited by щещ

Share this post


Link to post
Share on other sites

Flip-fl0p
21 минуту назад, щещ сказал:

А так это Мега функция

Я её не сам же написал

Какая разница какой язык будет? 

Можно и vhdl было выбрать

 

Можно говорить на современном языке и понимать окружающих(VHDL, V , SV). А можно говорить на мертвом диалекте и ничего не понимать (AHDL) Решать Вам.

Share this post


Link to post
Share on other sites

sazh
19 часов назад, щещ сказал:

 

    ct[].clk = fclk;
   
    rom.clock0 = !fclk;    
    

В чем может быть проблема?  

может в этом.

Share this post


Link to post
Share on other sites

des00
16 hours ago, sazh said:

может в этом.

нет, это просто двухфазная тактовая синхронизация. 

А про язык, AHDL был классным языком для своего времени, на нем можно было писать как в поведенческом, так и в структурном стиле. А конечные автоматы описывались гораздо проще тогдашнего верилога 95. Да, он не отвечает современным реалиям, с моделированием тоже куча проблем, но для начального изучения и проектирования на структурно-поведенческом уровне простой логики он более чем подходит и изучается за час, при условии владения цифровой схемотехникой.

Share this post


Link to post
Share on other sites

sazh
21 минуту назад, des00 сказал:

нет, это просто двухфазная тактовая синхронизация. 

 

Это стиль проектирования конца 80х, на микросхемах средней интеграции, потом перенос на плис в схемном редакторе. Короче, я хотел сказать, что работа по обеим фронтам в ПЛИС не есть хорошо. Тем паче, что вопрошающий все это промоделировал, я сделал вывод, что может реально по частотам что то не так.

Что касается Альтера языка, полностью с Вами согласен. Не согласен про изучение за час, ибо у него нет возможности описать фронт клока и он поэтому опирается на базовые примитивы. Ближайшая альтернатива ему  конечно Верилог.

Share this post


Link to post
Share on other sites

des00
28 minutes ago, sazh said:

Что касается Альтера языка, полностью с Вами согласен. Не согласен про изучение за час, ибо у него нет возможности описать фронт клока и он поэтому опирается на базовые примитивы. Ближайшая альтернатива ему  конечно Верилог.

Ну у меня ушел час, там 23 странички основной мануал на язык) Дальше там все нативно. Про фронт клока, там парадигма другая, но самая идея здравая, писанины минимум, добавить/изменить сбросы - одна строчка и т.д. 

PS.  На форуме, лет 12-15 назад обсуждали как клево на AHDL описывать всю триггерную мушуру, вроде там @SM про это писал. 

PPS. А не, 55 страничек. Но читается очень просто. Кому хочется что бы олд-скулы свело, ловите аттач)

AHDL на русском.DOC

Share this post


Link to post
Share on other sites

_4afc_
5 hours ago, des00 said:

 и изучается за час

Многое изучается за час если не заводить рака за камень.

У меня новобранцы писали рабочие программы на Си после 30 минут объяснения что такое этот язык...

Share this post


Link to post
Share on other sites

des00
1 hour ago, _4afc_ said:

Многое изучается за час если не заводить рака за камень.

У меня новобранцы писали рабочие программы на Си после 30 минут объяснения что такое этот язык...

речь то не про языки программирования, а про языки описания аппаратуры. Если бы VHDL/Verilog были так же просты как AHDL, то не было столько вопросов на форуме. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.