Vivado IP核使用 Ln(x)函式計算
阿新 • • 發佈:2019-01-01
IP核設定
Ln(x)函式計算IP核設定為一個組合電路模組,不需要時鐘
測試程式碼
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2018/06/19 15:45:55
// Design Name:
// Module Name: MS
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module MS(
input clk,
input rst,
input [31:0] din
);
//reg clk;
//Ln函式暫存器,浮點數輸入
reg in_valid;
reg [31:0] Ln_indata;
wire out_valid;
wire [31:0] Ln_outdata;
Ln Ln (
.s_axis_a_tvalid(in_valid), // input wire s_axis_a_tvalid
.s_axis_a_tdata(Ln_indata), // input wire [31 : 0] s_axis_a_tdata
.m_axis_result_tvalid(out_valid), // output wire m_axis_result_tvalid
.m_axis_result_tdata(Ln_outdata) // output wire [31 : 0] m_axis_result_tdata
);
[email protected](clk)
if(!rst)
begin
Ln_indata<=32'b0;
in_valid<=1'b0;
end
else
begin
Ln_indata<=din;
in_valid<=1'b1;
end
endmodule
testbench
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2018/06/19 16:53:43
// Design Name:
// Module Name: MS_tb
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module MS_tb(
);
reg clk;
reg rst;
reg[31:0] din;
MS ms(
.clk(clk),
.rst(rst),
.din(din)
);
initial
begin
clk =1'b0;
rst =1'b0;
din=32'b0;
#100
rst=1'b1;
din=32'h40000000;
end
always #10 clk=~clk;
endmodule
前Simulation結果
輸入為Ln(2)
輸出滿足要求
備註:資料是單精度的浮點數