nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 01:53



Reply to topic  [ 67 posts ]  Go to page Previous  1, 2, 3, 4, 5
Язык Verilog 
Author Message
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Уважаемого Icer'а я не хотел поддевать. Я просто хотел сказать, что как-то нужно в отдельную тему всё выкладывать. От последних постов с названием темы сейчас ничего общего. Я бы например, хотел бы тоже вставить пару слов в хаяние верилога, но не могу - ниточка темы от автора пропала, теперь тема стала "положительной" ведь так досканально Icer всё описывает, неохота прерывать его.


15 Oct 2018 09:52
Profile
Senior
User avatar

Joined: 21 Aug 2018 07:39
Posts: 163
Location: Кемеровская обл.
Reply with quote
fifan wrote:
Уважаемого Icer'а я не хотел поддевать. Я просто хотел сказать, что как-то нужно в отдельную тему всё выкладывать.
Без обид, тема и правда переросла в личный блог. Получив помощь, я на радостях настрочил кучу постов.
fifan wrote:
Я бы например, хотел бы тоже вставить пару слов в хаяние верилога, но не могу - ниточка темы от автора пропала, теперь тема стала "положительной" ведь так досканально Icer всё описывает, неохота прерывать его.
Настолько положительной, что хаять не хочется? :mrgreen: Досконально описывать плохо? Видать не все так плохо у верилога, раз десяток постов сместили чашу весов.
И все же уважаемый fifan, прошу вставте пару слов, подлейте масла в огонь. (без сарказма)


15 Oct 2018 15:54
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Джентльмены! Да всё нормально! Всё по теме, но так всегда бывает с различными языками:
кому-то одни нравятся больше, другие - меньше.
И позитивные и негативные отзывы в топике "Язык Verilog" вполне уместны. Сам топикстартер
пока тоже возражений и дополнений не высказывает...

_________________
iLavr


16 Oct 2018 02:01
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Тады так скажу. Верилог меня отпугивает своей не понятностью в синтаксисе. Хотя это наверное лень - необходимо просто внимательно почитать мануал. Я посмотрю книжку как она называется и обрадую, наверное Lavr'а (он любит книжки коллекционировать). Возможно эта книга известная. По ней можно привести синтаксис и сравнение одних и тех же действий.

Если необходимо, то лично для меня можно вникнуть в верилог. Но это требует какого-то лишнего напряга мозгов.

Ещё многое зависит от "красоты" написания кода. Я пишу так: каждую процедуру, описание переменных, подключаемых модулей стараюсь отделить пустыми строками. Каждое новое условие (if, else) начинаю с новой строки со смещением табуляцией (лесенкой вправо). Присвоение переменных - в каждой строке новая переменная.
Например, с этой темы:
wire [13:0] ram_a, cpu_a, vpu_a;

я бы написал так:
wire [13:0] ram_a;
wire cpu_a;
wire vpu_a;

Кстати я не написал чем я пользуюсь. Конечно vhdl. Для меня описание переменных на нём выглядит намного "красочнее":
signal ram_a : std_logic_vector (13 downto 0);--
signal cpu_a : std_logic; --
signal vpu_a : std_logic; --
Ни тебе "провод" (wire), ни присловутое assign.


16 Oct 2018 03:44
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
fifan wrote:
Я посмотрю книжку как она называется и обрадую, наверное Lavr'а (он любит книжки коллекционировать).

Я книги люблю почитать, если они полезные, а вот "книжки коллекционировать" - это не моё.
Но если уж коснулись книг, как то так выходит, что книги ранних изданий по микропроцесорной
тематике более полезны в практическом плане, чем выходящие сегодня.

Так смотришь, написано-то всё вроде правильно, а практически - никакой пользы. :-?
Я такие книги называю "сказочные" :wink: и пропускаю мимо. А книги полезные
обычно отмечаю ссылкой в нашей "библиотеке".

_________________
iLavr


16 Oct 2018 03:55
Profile
Senior
User avatar

Joined: 21 Aug 2018 07:39
Posts: 163
Location: Кемеровская обл.
Reply with quote
Code:
wire [13:0] ram_a, cpu_a, vpu_a;
три однотипных массива проводов в вашем исполнении выглядели бы так:
Code:
signal ram_a : std_logic_vector (13 downto 0);--
signal cpu_a : std_logic_vector (13 downto 0);--
signal vpu_a : std_logic_vector (13 downto 0);--
wire против std_logic_vector
[13:0] vs (13 downto 0)
слегка громоздко, но я не на что не претендую :mrgreen:
с vhdl пока даже не пытался разбираться, может чего и напутал.

Как бы вы на vhdl реализовали арбитраж между адресными шинами cpu vpu и ram?


16 Oct 2018 04:39
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Начал играться с верилятором (поставляется в составе стандартной библиотеки программ для дебиана), который способен компилировать модуль на языке "вырвиглотк" в C++ представление, которое затем можно вкомпилировать в свою C++ программу, меняющую входы и печатающую выходы с использованием Verilator API - пример вокруг сгенерённого из RGB_LED_BLINK.v:
Code:
// RGB.cpp
#include "VRGB_LED_BLINK.h"
#include "verilated.h"
#include <iostream>

int main(int argc, char** argv, char** env)
{
  Verilated::commandArgs(argc,argv);

  int i = 0;

  VRGB_LED_BLINK* top = new VRGB_LED_BLINK();
  while(!Verilated::gotFinish())
  {

     top->myclk = (i&2)?1:0; // change input

          top->eval();

     cout << i++ << ":" << (int)top->myclk << ":" << (int)top->tmp << endl; // print input myclk and output tmp
  }
  delete top;
  exit(0);
}

шаги по сборке:
verilator -Wall --cc RGB_LED_BLINK.v --exe RGB.cpp
создаёт каталог obj_dir где находятся h, cpp и mk файлы, далее
make -j -C obj_dir -f VRGB_LED_BLINK.mk
и после этого можно зайти в obj_dir и запустить VRGB_LED_BLINK на исполнение...

P.S. документация: https://www.veripool.org/projects/verilator/wiki/Documentation

_________________
:dj: https://mastodon.social/@Shaos


23 Nov 2018 08:11
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 67 posts ]  Go to page Previous  1, 2, 3, 4, 5

Who is online

Users browsing this forum: No registered users and 37 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.