Analysis Components & Techniques(從hdl_adder.m開始)

上一篇 / 下一篇  2018-12-28 13:46:24

   hdl_adder.m  

        為了將我們的ml_adder函數用作DUT,我們創建了一個MATLAB包裝器函數,我們可以將其連接到HDL模塊。EDA Simulator Link工具箱提供位向量和內部MATLAB數據類型之間的轉換功能。
        MATLAB源代碼如下所示:

        function [iport,tnext] = hdl_adder(oport, tnow, portinfo)
        % Demonstration for MATLAB Connectivity
        % This function uses the HDL Simulator Link methodology to get HDL port values
        % into and out of this function
        %
        tnext = [];
        iport = struct();

        % Convert the input ports to integers
        input0 = mvl2dec(oport.input0);
        input1 = mvl2dec(oport.input1);

        % This is a call to a simple MATLAB function found in ml_adder.m
        output0 = ml_adder(input0,input1);

        % Convert and assign the output port to a 9 bit vector
        iport.output0 = dec2mvl(output0,9);

        % [EOF] hdl_adder。m

        modelsim_matlab.m

        在Questa和MATLAB Simulator之間創建連接有兩個步驟。 首先,啟動MATLAB并告訴它創建一個EDA Simulator Link后臺程序來監聽與Questa的通信。 我們可以使用MATLAB函數來完成這項工作。
        MATLAB源代碼如下所示:

        % This is a MATLAB startup function to create an HDL Simulator Link
        % It requires the FLI library to be loaded on the vsim command line
        hdldaemon('socket', 5001, 'time', 'int64');

        % This adds the MATLAB directory containing the MATLAB functions
        addpath ./MATLAB;

        第二步是使用添加的FLI命令啟動Questa以加載MATLAB EDA Simulator Link功能。 MATLAB提供了所使用的FLI模塊,因此我們將“matlabclient $(MATLAB)/ toolbox / edalink / extensions / modelsim / linux64 / liblf hdlc_tmwgcc.so”添加到Questa命令行。
        一旦Questa運行,我們提供FLI命令將testbench DUT模塊(在本例中為shell模塊)連接到MATLAB hdl_adder函數。 這是使用命令'matlabcp / testbench / dut -rising / testbench / dut / valid -mfunc hdl_adder -socket 5001'完成的。 在此示例中,腳本文件(scripts / matlab.do)用于簡化此操作。
        在此示例中,testbench(sv / testbench.sv)使用+ define + MATLAB編譯。 這將使用空模塊替換現有的DUT Verilog模塊以連接到MATLAB。
        您可以使用'make simulate_matlab_dut'運行此示例以查看結果。 運行時,您將看到MATLAB控制臺啟動,HDL后臺程序開始偵聽連接。 延遲(為了給MATLAB啟動預留時間),Questa將啟動并建立DUT到MATLAB的連接。 運行時,您將看到Questa環境正常運行以及在MATLAB控制臺中查看MATLAB函數計算。 如果需要對MATLAB函數進行調試,MATLAB控制臺的輸出也會保存在matlab.log文件中。


TAG:

 

評分:0

我來說兩句

顯示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日歷

« 2019-02-13  
     12
3456789
10111213141516
17181920212223
2425262728  

數據統計

  • 訪問量: 22468
  • 日志數: 75
  • 建立時間: 2018-09-03
  • 更新時間: 2018-12-29

RSS訂閱

Open Toolbar
传世私服 幸运飞艇官网 热血江湖私服 魔域私服 传世私服 魔域私服 幸运飞艇官网 热血江湖私服 幸运飞艇官网 热血江湖私服