exponenta event banner

Создание кода HDL из панели инструментов Vision HDL

Что такое создание кода HDL?

Вы можете использовать MATLAB ® и Simulink ® для быстрого прототипирования конструкций оборудования. Видение блоки HDL Toolbox™ и Системные объекты, когда оно используется с HDL Coder™, оказывает поддержку для генерации объектного кода HDL. Инструменты HDL Coder генерируют независимый от цели синтезируемый код Verilog ® и VHDL ® для программирования FPGA или прототипирования и проектирования ASIC.

Поддержка генерации кода HDL в панели инструментов Vision HDL

Большинство блоков и объектов в Vision HDL Toolbox поддерживают создание кода HDL.

Следующие блоки и объекты предназначены только для моделирования и не поддерживаются для создания кода HDL:

  • От кадра до пикселей (visionhdl.FrameToPixels)

  • Пикселы к кадру (visionhdl.PixelsToFrame)

  • FIL-кадр в пикселы (visionhdl.FILFrameToPixels)

  • Пикселы FIL к кадру (visionhdl.FILPixelsToFrame)

  • Измерение времени (visionhdl.MeasureTiming)

Потоковый пиксельный интерфейс в HDL

Потоковая шина пикселей и тип данных структуры, используемые блоками панели инструментов Vision HDL и системными объектами, сплющиваются в отдельные сигналы в HDL.

В VHDL интерфейс объявляется следующим образом:

  PORT( clk             :   IN    std_logic;
        reset           :   IN    std_logic;
        enb             :   IN    std_logic;
        in0             :   IN    std_logic_vector(7 DOWNTO 0); -- uint8
        in1_hStart      :   IN    std_logic;
        in1_hEnd        :   IN    std_logic;
        in1_vStart      :   IN    std_logic;
        in1_vEnd        :   IN    std_logic;
        in1_valid       :   IN    std_logic;
        out0            :   OUT   std_logic_vector(7 DOWNTO 0); -- uint8
        out1_hStart     :   OUT   std_logic;
        out1_hEnd       :   OUT   std_logic;
        out1_vStart     :   OUT   std_logic;
        out1_vEnd       :   OUT   std_logic;
        out1_valid      :   OUT   std_logic
        );

В Verilog интерфейс объявляется как:

  input   clk;
  input   reset;
  input   enb;
  input   [7:0] in0;  // uint8
  input   in1_hStart;
  input   in1_hEnd;
  input   in1_vStart;
  input   in1_vEnd;
  input   in1_valid;
  output  [7:0] out0;  // uint8
  output  out1_hStart;
  output  out1_hEnd;
  output  out1_vStart;
  output  out1_vEnd;
  output  out1_valid;