~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ A63263B7467949AF12949234BB961C86__1659916380 ✰
Заголовок документа оригинал.:
✰ MyHDL - Wikipedia ✰
Заголовок документа перевод.:
✰ MyHDL — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/MyHDL ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/a6/86/a63263b7467949af12949234bb961c86.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/a6/86/a63263b7467949af12949234bb961c86__translat.html ✰
Дата и время сохранения документа:
✰ 20.06.2024 22:37:52 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 8 August 2022, at 02:53 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

MyHDL — Википедия Jump to content

MyHDL

Из Википедии, бесплатной энциклопедии

MyHDL [1] — это Python (HDL) на основе язык описания оборудования .

Особенности MyHDL включают в себя:

  • Возможность генерировать код VHDL и Verilog на основе проекта MyHDL. [2]
  • Возможность генерации тестового стенда (Конвертация тестовых стендов [3] ) с тестовыми векторами в VHDL или Verilog на основе сложных вычислений на Python.
  • Возможность конвертировать список сигналов. [4]
  • Возможность конвертировать выходную проверку. [5]
  • Возможность совместного моделирования с Verilog. [6]
  • Продвинутая система типов данных, независимая от традиционных типов данных. Инструмент-переводчик MyHDL автоматически записывает функции преобразования, когда их требует целевой язык.

MyHDL разработан Яном Декалуве. [7]

Примеры конвертации [ править ]

Здесь вы можете увидеть несколько примеров преобразования проектов MyHDL в VHDL и/или Verilog. [8]

Небольшой комбинаторный проект

Пример представляет собой небольшой комбинаторный проект, а точнее преобразователь двоичного кода в код Грея:

def   bin2gray  (  B  ,   G  ,   width  :   int  ): 
     """Кодер серого цвета. 

 B — входной сигнал intbv, двоичное кодирование 
 G — выходной сигнал intbv, кодирование серого 
 width — разрядность 
 """ 

     @always_comb 
     def   Logic  () : 
         Bext   =   intbv  (  0  )[  ширина   +   1   :] 
         Bext  [:]   =   B 
         для   i   в   диапазоне  (  ширина  ) 
             G.  :   next  [  i  ]   =   Bext  [  i   +   1  ]   ^   Bext  [  i  ] 

     возврата   логика 

Вы можете создать экземпляр и преобразовать его в Verilog и VHDL следующим образом:

ширина   =   8 

 B   =   Сигнал  (  intbv  (  0  )[  ширина  :]) 
 G   =   Сигнал  (  intbv  (  0  )[  ширина  :]) 

 bin2gray_inst   =   toVerilog  (  bin2gray  ,   B  ,   G  ,   ширина  ) 
 bin2gray_inst   =   toVHDL  (  bin2gray  ,   B  ,   G  ,   ширина  ) 

Сгенерированный код Verilog выглядит следующим образом:

модуль   bin2gray   ( 
     B  , 
     G 
 ); 

  вход   [  7  :  0  ]   Б  ; 
  выход   [  7  :  0  ]   G  ; 
  рег   [  7  :  0  ]   Г  ; 

  всегда   @(  B  )   начало  :   BIN2GRAY_LOGIC 
     целое число   i  ; 
      рег   [  9-1  :  0  ]   Фортуна  ; 
      Фортуна   =   9'h0  ; 
      Удача   =   Б  ; 
      for   (  я  знак равно  0  ;   я  <  8  ;   я  =  я  +  1  )   начать 
         G  [  я  ]   <=   (  Удача  [(  я   +   1  )]   ^   Удача  [  я  ]); 
      конец, 
 конец 

 , конец модуля 

Сгенерированный код VHDL выглядит следующим образом:

библиотека   IEEE  ; 
  используйте   IEEE.std_logic_1164.   все  ; 
  используйте   IEEE.numeric_std.   все  ; 
  используйте   std.textio.   все  ; 

  используйте   work.pck_myhdl_06.   все  ; 

  сущность   bin2gray   — это 
     порт   ( 
         B  :   вход   без знака  (  от 7   до   0  ); 
         G  :   выход   без знака  (  от 7   до   0  ) 
     ); 
  конечный   объект   bin2gray  ; 

  архитектура   MyHDL   bin2gray   от   начинается 

 BIN2GRAY_LOGIC 

 ;  :   процесс   (  B  )   является 
     переменной   Bext  :   без знака  (  8   до   0  ) 
  начать 
     Bext   :=   to_unsigned  (  0  ,   9  ); 
      Bext   :=   изменить размер  (  B  ,   9  ); 
      для   i   в   от 0   до   8  -  1   цикле 
         G  (  i  )   <=   (  Bext  ((  i   +   1  ))   xor   Bext  (  i  )); 
      конец   цикла  ; 
  завершить   процесс   BIN2GRAY_LOGIC  ; 

  конечная   архитектура   MyHDL  ; 

См. также [ править ]

Ссылки [ править ]

  1. ^ "Дом" . myhdl.org .
  2. ^ «Преобразование в Verilog и VHDL — документация MyHDL 0.11» .
  3. ^ «Что нового в MyHDL 0.6 — документация MyHDL 0.11» .
  4. ^ «Что нового в MyHDL 0.6 — документация MyHDL 0.11» .
  5. ^ «Что нового в MyHDL 0.6 — документация MyHDL 0.11» .
  6. ^ «Совместное моделирование с Verilog — документация MyHDL 0.11» .
  7. ^ «MyHDL: язык описания оборудования на основе Python | Журнал Linux» .
  8. ^ «Примеры преобразования — документация MyHDL 0.11» .
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: A63263B7467949AF12949234BB961C86__1659916380
URL1:https://en.wikipedia.org/wiki/MyHDL
Заголовок, (Title) документа по адресу, URL1:
MyHDL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)