Импортируйте код Verilog и сгенерируйте модель Simulink
importhdl
импорт и синтаксические анализы заданные файлы Verilog®, чтобы сгенерировать соответствующую модель Simulink®.
importhdl(
импортирует заданные файлы Verilog и генерирует соответствующую модель Simulink при удалении несвязанных компонентов, которые непосредственно не способствуют выходу.FileNames
)
importhdl(
импортирует заданные файлы Verilog и генерирует соответствующую модель Simulink при удалении несвязанных компонентов, которые непосредственно не способствуют выходу с опциями, заданными одним или несколькими аргументами пары "имя-значение".FileNames
,Name,Value
)
В этом примере показано, как можно импортировать файл, содержащий код Verilog, и сгенерировать соответствующую модель Simulink™.
Задайте вход файл Verilog
Убедитесь, что файл входа HDL не содержит синтаксических ошибок, является синтезируемым, и использует построения, которые поддерживаются импортом HDL. Этот пример показывает код Verilog компаратора.
edit('comparator.v')
Импортируйте файл Verilog
Чтобы импортировать файл HDL и сгенерировать модель Simulink™, передайте имя файла как вектор символов к importhdl
функция.
importhdl('comparator.v')
### Parsing <a href="matlab:edit('comparator.v')">comparator.v</a>. ### Top Module of the source: 'comparator'. ### Identified ClkName::clk. ### Identified RstName::rst. ### Hdl Import parsing done. ### Creating Target model comparator ### Generating Dot Layout... ### Start Layout... ### Working on hierarchy at ---> 'comparator'. ### Laying out components. ### Working on hierarchy at ---> 'comparator/comparator'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Setting the model parameters. ### Generated model as C:\Temp\examples\examples\hdlcoder-ex77699673\hdlimport\comparator\comparator.slx. ### HDL Import completed.
Импорт HDL анализирует входной файл и отображает сообщения процесса импорта в Командном окне MATLAB™. Импорт обеспечивает ссылку на сгенерированную модель Simulink™ comparator.slx
. Сгенерированная модель использует то же имя в качестве главного модуля в файле входа Verilog.
Исследуйте сгенерированную модель Simulink™
Чтобы открыть сгенерированную модель Simulink™, выберите ссылку. Модель сохранена в hdlimport/comparator
путь относительно текущей папки. Можно симулировать модель и наблюдать результаты симуляции.
addpath('hdlimport/comparator') open_system('comparator.slx') sim('comparator.slx')
В этом примере показано, как можно импортировать несколько файлов, содержащих код Verilog, и сгенерировать соответствующую модель Simulink™.
Задайте вход Verilog File
Убедитесь, что файлы входа HDL не содержат синтаксических ошибок, являются синтезируемыми, и используют построения, которые поддерживаются импортом HDL. Например, этот код показывает три файла Verilog что инстанцирование модуля использования, чтобы сформировать иерархический проект. Один модуль example1.v
реализует простую последовательную схему на основе если еще условие. Другой модуль example2.v
реализует простое комбинационное арифметическое выражение.
edit('example1.v') edit('example2.v')
Главный модуль содержал в файле example.v
инстанцирует этих двух модулей в example1.v
и example2.v
edit('example.v')
Импортируйте файлы Verilog
Чтобы импортировать файл HDL и сгенерировать модель Simulink™, передайте имена файлов как массив ячеек из символьных векторов к importhdl
функция. По умолчанию импорт HDL идентифицирует главный модуль и пакет часов при парсинге входного файла.
importhdl({'example.v','example1.v','example2.v'})
### Parsing <a href="matlab:edit('example.v')">example.v</a>. ### Parsing <a href="matlab:edit('example1.v')">example1.v</a>. ### Parsing <a href="matlab:edit('example2.v')">example2.v</a>. ### Top Module of the source: 'example'. ### Identified ClkName::clk. ### Hdl Import parsing done. ### Creating Target model example ### Generating Dot Layout... ### Start Layout... ### Working on hierarchy at ---> 'example'. ### Laying out components. ### Working on hierarchy at ---> 'example/example'. ### Laying out components. ### Working on hierarchy at ---> 'example/example/example1'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Working on hierarchy at ---> 'example/example/example2'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Setting the model parameters. ### Generated model as C:\Temp\examples\examples\hdlcoder-ex56732899\hdlimport\example\example.slx. ### HDL Import completed.
Импорт HDL анализирует входной файл и отображает сообщения процесса импорта в Командном окне MATLAB™. Импорт обеспечивает ссылку на сгенерированную модель Simulink™ example.slx
. Сгенерированная модель использует то же имя в качестве главного модуля, который содержится в файле входа Verilog example1.v
.
Исследуйте сгенерированную модель Simulink™
Чтобы открыть сгенерированную модель Simulink™, выберите ссылку. Модель сохранена в hdlimport/example
путь относительно текущей папки. Можно симулировать модель и наблюдать результаты симуляции.
addpath('hdlimport/example') open_system('example.slx')
Чтобы избежать деления на нуль, можно подавить диагностику предупреждения перед симуляцией.
Simulink.suppressDiagnostic({'example/example/example2/Div'}, ... 'SimulinkFixedPoint:util:fxpDivisionByZero') sim('example')
Вы видите иерархию Подсистем, которые реализуют код Verilog, который использует инстанцирование модуля.
open_system('example/example/example1')
open_system('example/example/example2')
В этом примере показано, как можно импортировать несколько файлов, содержащих код Verilog, и сгенерировать соответствующую модель Simulink™. Когда вы импортируете несколько файлов, если вы хотите запутать HDL-код или если ваши файлы содержат HDL-код для специфичного для поставщика дюйм/с, можно импортировать HDL-код как модуль BlackBox с помощью importhdl
функция.
Задайте вход Verilog Files
Убедитесь, что файлы входа HDL не содержат синтаксических ошибок, являются синтезируемыми, и используют построения, которые поддерживаются импортом HDL. Например, этот код показывает три файла Verilog что инстанцирование модуля использования, чтобы сформировать иерархический проект. Один модуль sequentialexp.v
реализует простую последовательную схему на основе если еще условие. Другой модуль comditionalcomb.v
реализует простое комбинационное арифметическое выражение.
edit('conditionalcomb.v') edit('sequentialexp.v') edit('intelip.v')
Смотрите что sequentialexp.v
модуль инстанцирует Intel® IP, который реализует сумматор с плавающей точкой с одинарной точностью.
Главный модуль top
содержавшийся в файле blackboxtop.v
инстанцирует этих двух модулей в conditionalcomb.v
и sequentialexp.v
edit('blackboxtop.v')
Импортируйте файлы Verilog
Чтобы импортировать файл HDL и сгенерировать модель Simulink™, передайте имена файлов как массив ячеек из символьных векторов к importhdl
функция. По умолчанию импорт HDL идентифицирует главный модуль и пакет часов при парсинге входного файла.
importhdl({'blackboxtop.v','conditionalcomb.v','sequentialexp.v','intelip.v'}, ... 'topModule','top','blackBoxModule','intelip')
### Parsing <a href="matlab:edit('blackboxtop.v')">blackboxtop.v</a>. ### Parsing <a href="matlab:edit('conditionalcomb.v')">conditionalcomb.v</a>. ### Parsing <a href="matlab:edit('sequentialexp.v')">sequentialexp.v</a>. ### Parsing <a href="matlab:edit('intelip.v')">intelip.v</a>. ### Top Module of the source: 'top'. ### Identified ClkName::clk. ### Hdl Import parsing done. ### Creating Target model top ### Generating Dot Layout... ### Start Layout... ### Working on hierarchy at ---> 'top'. ### Laying out components. ### Working on hierarchy at ---> 'top/top'. ### Laying out components. ### Working on hierarchy at ---> 'top/top/u_comb'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Working on hierarchy at ---> 'top/top/u_seq'. ### Laying out components. ### Working on hierarchy at ---> 'top/top/u_seq/u_intelip'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Setting the model parameters. ### Generated model as C:\Temp\examples\examples\hdlcoder-ex63017378\hdlimport\top\top.slx. ### HDL Import completed.
Импорт HDL анализирует входной файл и отображает сообщения процесса импорта в Командном окне MATLAB™. Импорт обеспечивает ссылку на сгенерированную модель Simulink™ top.slx
. Сгенерированная модель использует то же имя в качестве главного модуля, который содержится в файле входа Verilog conditionalcomb.v
.
Исследуйте сгенерированную модель Simulink™
Чтобы открыть сгенерированную модель Simulink™, выберите ссылку. Модель сохранена в hdlimport/top
путь относительно текущей папки. Можно симулировать модель и наблюдать результаты симуляции.
addpath('hdlimport/top') open_system('top.slx') set_param('top','SimulationCommand','update')
Чтобы избежать деления на нуль, можно подавить диагностику предупреждения перед симуляцией.
Simulink.suppressDiagnostic({'top/top/u_seq/Div'}, ... 'SimulinkFixedPoint:util:fxpDivisionByZero') sim('top')
Вы видите иерархию Подсистем, которые реализуют код Verilog, который использует инстанцирование модуля.
open_system('top/top/u_comb')
Если вы открываете Подсистему, которая реализует последовательную схему, можно открыть u_intelip
Подсистема, чтобы видеть реализацию черного ящика.
open_system('top/top/u_seq')
open_system('top/top/u_seq/u_intelip')
В этом примере показано, как можно импортировать код Verilog, который содержит эти операторы, и сгенерируйте соответствующую модель Simulink™:
Арифметика
Логический
Xor
Поразрядно
Условное выражение
Реляционный
Конкатенация
Задайте вход файл Verilog
Убедитесь, что файл входа HDL не содержит синтаксических ошибок, является синтезируемым, и использует построения для различных операторов. Например, этот код Verilog показывает различные операторы.
edit('VerilogOperators.v')
Импортируйте файл Verilog
Чтобы импортировать файл HDL и сгенерировать модель Simulink™, передайте имя файла как вектор символов к importhdl
функция.
importhdl('VerilogOperators.v')
### Parsing <a href="matlab:edit('VerilogOperators.v')">VerilogOperators.v</a>. ### Top Module of the source: 'VerilogOperators'. ### Hdl Import parsing done. ### Creating Target model VerilogOperators ### Generating Dot Layout... ### Start Layout... ### Working on hierarchy at ---> 'VerilogOperators'. ### Laying out components. ### Working on hierarchy at ---> 'VerilogOperators/VerilogOperators'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Generated model as C:\Temp\examples\examples\hdlcoder-ex29847655\hdlimport\VerilogOperators\VerilogOperators.slx. ### HDL Import completed.
Импорт HDL анализирует входной файл и отображает сообщения процесса импорта в Командном окне MATLAB™. Импорт обеспечивает ссылку на сгенерированную модель Simulink™ VerilogOperators.slx
. Сгенерированная модель использует то же имя в качестве главного модуля в файле входа Verilog.
Исследуйте сгенерированную модель Simulink™
Чтобы открыть сгенерированную модель Simulink™, выберите ссылку. Модель сохранена в hdlimport/VerilogOperators
путь относительно текущей папки. Можно симулировать модель и наблюдать результаты симуляции.
addpath('hdlimport/VerilogOperators') open_system('VerilogOperators.slx') sim('VerilogOperators.slx')
В этом примере показано, как можно импортировать несколько файлов, содержащих код Verilog, которые выполняют неявные преобразования типа данных и генерируют соответствующую модель Simulink™. Импорт HDL может выполнить неявное преобразование типа данных такой как в арифметических операциях, преобразовании типа данных, битном выборе и битной конкатенации.
Задайте вход Verilog File
Убедитесь, что файлы входа HDL не содержат синтаксических ошибок, являются синтезируемыми, и используют построения, которые поддерживаются импортом HDL. Например, этот код показывает три файла Verilog что инстанцирование модуля использования, чтобы сформировать иерархический проект. Модули NG1_implicit.v
и round_const.v
выполните неявное преобразование типа данных.
edit('NG1_implicit.v') edit('round_constant.v')
Главный модуль содержал в файле example.v
инстанцирует этих двух модулей в NG1_implicit.v
и round_constant.v
.
edit('implicit_top.v')
Импортируйте файлы Verilog
Чтобы импортировать файл HDL и сгенерировать модель Simulink™, передайте имена файлов как массив ячеек из символьных векторов к importhdl
функция. По умолчанию импорт HDL идентифицирует главный модуль при парсинге входного файла.
importhdl({'implicit_top.v','NG1_implicit.v','round_constant.v'})
### Parsing <a href="matlab:edit('implicit_top.v')">implicit_top.v</a>. ### Parsing <a href="matlab:edit('NG1_implicit.v')">NG1_implicit.v</a>. ### Parsing <a href="matlab:edit('round_constant.v')">round_constant.v</a>. ### Top Module name: 'top'. Warning: Unused input port 'i' in 'rconst' module. ### Hdl Import parsing done. ### Creating Target model top ### Generating Dot Layout... ### Start Layout... ### Working on hierarchy at ---> 'top'. ### Laying out components. ### Working on hierarchy at ---> 'top/top'. ### Laying out components. ### Working on hierarchy at ---> 'top/top/NG1'. ### Laying out components. Configurable Subsystem block 'simulink/Ports & Subsystems/Configurable Subsystem' must be converted to a Variant Subsystem block. Variant subsystems offers enhanced capabilities while maintaining equivalant functionality. Support of Configurable Subsystem will be removed in a future release. ### Applying Dot Layout... ### Drawing block edges... ### Working on hierarchy at ---> 'top/top/rconst'. ### Laying out components. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Generated model file C:\TEMP\Examples\hdlcoder-ex12503110\hdlimport\top\top.slx. ### Importhdl completed.
Импорт HDL анализирует входной файл и отображает сообщения процесса импорта в Командном окне MATLAB™. Импорт обеспечивает ссылку на сгенерированную модель Simulink™ implicit_top.slx
. Сгенерированная модель использует то же имя в качестве главного модуля, который содержится в файле входа Verilog implicit_top.v
.
Исследуйте сгенерированную модель Simulink™
Чтобы открыть сгенерированную модель Simulink™, выберите ссылку. Модель сохранена в hdlimport/example
путь относительно текущей папки. Можно симулировать модель и наблюдать результаты симуляции.
addpath('hdlimport/top'); open_system('top.slx')
В rconst
Подсистема, один из входных портов не связан. Это - хорошая практика, чтобы избежать неотключенных выходных параметров путем добавления блока Terminator.
addterms('top'); sim('top');
Вы видите иерархию Подсистем, которые реализуют код Verilog, который использует инстанцирование модуля.
open_system('top/top/NG1')
open_system('top/top/rconst')
В этом примере показано, как можно импортировать файл, содержащий код Verilog, и вывести блоки RAM в модели Simulink™, которая сгенерирована. Можно импортировать код Verilog, который выводит любую из различных RAM в библиотеке HDL RAMs включая hdl.RAM основанные на системном объекте блоки и RAM Блока.
Задайте вход файл Verilog
Убедитесь, что файл входа HDL не содержит синтаксических ошибок, является синтезируемым, и использует построения, которые поддерживаются импортом HDL. Этот пример показывает код Verilog.
edit('simple_dual_port_ram.v')
Импортируйте файл Verilog
Чтобы импортировать файл HDL и сгенерировать модель Simulink™, передайте имя файла как вектор символов к importhdl
функция.
importhdl('simple_dual_port_ram.v')
### Parsing <a href="matlab:edit('simple_dual_port_ram.v')">simple_dual_port_ram.v</a>. ### Top Module name: 'SimpleDualPortRAM'. ### Identified ClkName::clk. ### Hdl Import parsing done. ### Creating Target model SimpleDualPortRAM ### Generating Dot Layout... ### Start Layout... ### Working on hierarchy at ---> 'SimpleDualPortRAM'. ### Laying out components. ### Working on hierarchy at ---> 'SimpleDualPortRAM/SimpleDualPortRAM'. ### Laying out components. Configurable Subsystem block 'simulink/Ports & Subsystems/Configurable Subsystem' must be converted to a Variant Subsystem block. Variant subsystems offers enhanced capabilities while maintaining equivalant functionality. Support of Configurable Subsystem will be removed in a future release. ### Applying Dot Layout... ### Drawing block edges... ### Applying Dot Layout... ### Drawing block edges... ### Setting model parameters. ### Generated model file C:\TEMP\Examples\hdlcoder-ex67646187\hdlimport\SimpleDualPortRAM\SimpleDualPortRAM.slx. ### Importhdl completed.
Импорт HDL анализирует входной файл и отображает сообщения процесса импорта в Командном окне MATLAB™. Импорт обеспечивает ссылку на сгенерированную модель Simulink™ SimpleDualPortRAM.slx
. Сгенерированная модель использует то же имя в качестве главного модуля в файле входа Verilog.
Исследуйте сгенерированную модель Simulink™
Чтобы открыть сгенерированную модель Simulink™, выберите ссылку. Модель сохранена в hdlimport/SimpleDualPortRAM
путь относительно текущей папки. Можно симулировать модель и наблюдать результаты симуляции.
addpath('hdlimport/SimpleDualPortRAM'); open_system('SimpleDualPortRAM.slx'); sim('SimpleDualPortRAM.slx');
Если вы перемещаетесь по модели, вы видите блок Simple Dual Port RAM.
open_system('SimpleDualPortRAM/SimpleDualPortRAM')
FileNames
— Имена файлов HDL, чтобы импортироватьИмена файлов HDL, чтобы импортировать для генерации модели Simulink. По умолчанию, importhdl
импорт файлы Verilog. Импортировать:
Один файл HDL, задайте имя файла как вектор символов.
Несколько файлов HDL, задайте имена файлов как массив ячеек из символьных векторов.
Все файлы HDL в папке, задайте имя папки как вектор символов.
Несколько папок и комбинаций файлов и папок в виде массива ячеек из символьных векторов. Можно также использовать подпапки, которые содержат рекурсивные папки.
Пример: importhdl('example')
импортирует заданный файл Verilog. Если example
подпапка в текущей рабочей папке, импорт HDL анализирует тот файл и инстанцирования модуля в подпапках, и затем генерирует модель Simulink для всего .v
файлы. Если importhdl
не может найти подпапку, которая имеет имя example
, это ищет путь MATLAB® файлы HDL, которые имеют имя example
.
Пример: importhdl({'top.v','subsystem1.v','subsystem2.v'})
импортирует заданные файлы Verilog и генерирует соответствующую модель Simulink.
Пример: importhdl(pwd)
импорт все файлы Verilog в текущей папке и генерирует соответствующую модель Simulink.
Пример: importhdl('root/example/hdlsrc')
импорт все файлы Verilog на заданном пути и генерирует соответствующую модель Simulink. Можно задать относительный или абсолютный путь.
Пример: importhdl('subfolder')
импорт все файлы Verilog под заданной подпапкой и генерирует соответствующую модель Simulink. По умолчанию, importhdl
подпапки синтаксических анализов, которые содержат рекурсивные папки.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
importhdl('root/example/hdlsrc')
импорт все файлы Verilog в заданном пути и генерирует соответствующую модель Simulink. Можно задать относительный или абсолютный путь.'Language'
— Язык файла входа HDL'Verilog'
(значение по умолчанию)Язык входного исходного файла, который содержит HDL-код в виде вектора символов. Если вы задали файл VHDL®, импорт HDL генерирует ошибку.
Пример: importhdl('fifo.v','Language','Verilog')
импортирует файл Verilog fifo.v
и генерирует соответствующую модель Simulink fifo.slx
.
'topModule'
— Имя главного модуля или сущностиIdentified by parsing input file
(значение по умолчанию) | вектор символов | строковый скалярИмя модуля верхнего уровня в HDL-коде в виде вектора символов. Это имя становится именем Subsystem верхнего уровня, из которого импорт HDL создает иерархию подсистем в сгенерированной модели Simulink. Если файлы входа HDL содержат больше чем один главный модуль, задают модуль верхнего уровня, чтобы использовать для генерации модели Simulink при помощи TopModule
свойство.
Пример: importhdl('full_adder.v','TopModule','two_half_adders')
импортирует файл Verilog full_adder.v
и генерирует соответствующую модель Simulink full_adder.slx
с two_half_adders
как Подсистема верхнего уровня.
'clockBundle'
— Синхронизируйте имена пакета{'clock', 'reset', 'enable'}
(значение по умолчанию) | массив ячеек из символьных векторовИмена сигналов тактовой частоты, сбросов и сигналов разрешения действии по сигналу тактовой частоты для последовательных схем в виде массива ячеек вектора символов. Имена по умолчанию для сигналов пакета часов:
Сигнал часов - clk
часы
Сбросьте сигнал - rst
сброс
Часы Включают сигнал - clk_enb
, clk_en
, clk_enable
, enb
, enable
Если вы не указываете информацию пакета часов, импорт HDL использует значения по умолчанию. При парсинге входного файла, если импорт HDL идентифицирует имя часов, которое отличается от имени часов, заданного ClockBundle
, импорт генерирует ошибку.
Пример: importhdl('example.v','clockBundle',{'clk','rst','clk_enb'})
импортирует файл Verilog example.v
с указанными часами связывают информацию.
'blackBoxModule'
— Имена модуля BlackBox''
(значение по умолчанию) | вектор символов | массив ячеек из символьных векторовИмя или имена модулей в файлах входа Verilog, которые будут импортированы как подсистемы BlackBox в сгенерированной модели Simulink. Блок Subsystem, который импортируется как BlackBox, использует порты ввода и вывода, которые вы предоставляете определению модуля. В Подсистеме входные порты соединяются с блоками Terminator, блоками Constant со значением zero
соединяются с выходными портами. Используйте эту возможность импортировать специфичного для поставщика дюйм/с как подсистемы BlackBox в вашей модели.
Пример: importhdl({'example.v,'example1.v','example2.v','xilinxIP.v},'topModule','top','blackBoxModule','xilinxIP')
импортирует заданные файлы Verilog с xilinxIP
как модуль BlackBox. Соответствующей Подсистеме в модели Simulink соединили входные порты с блоками Терминатора и блоками Константа с постоянным значением нуля, соединенного с выходными портами.
'autoPlace'
— Расположите блоки для улучшенного размещения'on'
(значение по умолчанию) | 'off'
Автоматически расположите блоки в модели Simulink, сгенерированной путем выполнения importhdl
. По умолчанию, autoPlace
on
. importhdl
затем использование Simulink.BlockDiagram.arrangeSystem
улучшить макет модели путем перестройки, изменяя размер, и перемещая блоки и выправляя сигнальные линии.
Пример: importhdl('example.v','autoPlace','on')
импортирует файл Verilog example.v
и генерирует модель Simulink с расширенным макетом модели.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.