資料介紹
本文轉載自:VagueCheung的博客
由于Verilog/Vhdl沒有計算exp指數函數的庫函數,所以在開發過程中可利用cordic IP核做exp函數即e^x值;
但前提要保證輸入范圍在(-pi/4—pi/4)
在cordic核中e^x = sinh + cosh所以在配置cordic時點選sinh and cosh即可 如下圖:
input width配置為16位,表示輸入數據的第16位是符號位,第15,14位是整數位,其他位表示小數位,相當于13位有符號定點小數;
output width配置16位,高16位表示sinh結果 其中第16位符號位,第15位整數位,其它小數位,相當于13位有符號定點小數;
低16位表示cosh結果 其中第16位符號位,第15位整數位,其它小數位,相當于13位有符號定點小數;
其它選項都按上圖顯示配置;
編寫testbench測試文件:
Testbench:
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
// Create Date: 2018/11/28 09:08:45
// Design Name:
// Module Name: test_bench_IP_cordic_ex
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
// 利用cordic IP核 做pi/5和-pi/4做exp 定義(可自選)
//需自己將仿真結果高16位提出作為sinh值 數據格式為第16位為符號位 第15位是整數位 后邊其他是小數
//將仿真結果低16位提出作為cosh值 數據格式為第16位為符號位 第15位是整數位 后邊其他是小數
//得到結果exp(x)=sinh+cosh
// Dependencies:
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//////////////////////////////////////////////////////////////////////////////////
module test_bench_IP_cordic_ex(
);
//inputs
reg clk;
reg[15:0] s_axis_phase_tdata;
reg s_axis_phase_tvalid;
//outputs
wire m_axis_dout_tvalid;
wire[31:0] m_axis_dout_tdata;
//others
wire[15:0] sinh;
wire[15:0] cosh;
wire[15:0] exp;
assign sinh = m_axis_dout_tdata[31:16];
assign cosh = m_axis_dout_tdata[15:0];
assign exp = sinh + cosh;
cordic_0 cordic_m0(
.aclk(clk),
//.rst(rst),
.s_axis_phase_tdata(s_axis_phase_tdata),
//.s_axis_phase_tready(s_axis_phase_tready),
.s_axis_phase_tvalid(s_axis_phase_tvalid),//s_axis_phase_tvalid),
.m_axis_dout_tvalid(m_axis_dout_tvalid),
.m_axis_dout_tdata(m_axis_dout_tdata)
);
always #5 clk = ~clk;
initial begin
clk = 0;
s_axis_phase_tvalid = 0;
s_axis_phase_tdata = 0;
#150
s_axis_phase_tvalid = 1;
s_axis_phase_tdata = 16'b0001010000011011;//pi * 1/5
#10
s_axis_phase_tdata = 16'b1110011011011110;//-pi * 1/4
#10
s_axis_phase_tvalid = 0;
#40000 $finish;
end
endmodule
仿真結果如下圖:
圖中標紅區域值分別為:
e(pi/5)=1.87432861328125
e(-pi/4)=0.45587158203125
利用Matlab仿真結果如下圖:
對比可知仿真結果一致;
- Linux系統中EXP命令詳解質量匯總 1次下載
- Xilinx_Vivado_zynq7000入門筆記 71次下載
- Vivado中xilinx_BRAM IP核使用
- Xilinx LogiCORE IP塊內存生成器的產品指南 22次下載
- MicroBlaze(Vivado版)設置說明詳細資料免費下載 0次下載
- Xilinx Vivado SDK 2017.2 0616 1 Win64軟件免費下載 320次下載
- 面向對數與指數函數的可重構陣列結構 0次下載
- 攝像頭的硬件函數(IP核) 13次下載
- PCI總線IP核(華為的商用) 30次下載
- USB IP核 13次下載
- PCI Express IP核應用參考設計 14次下載
- USB2.0 IP核源代碼 35次下載
- FPGA中IP核的生成 11次下載
- 如何仿真IP核(建立modelsim仿真庫完整解析) 35次下載
- RBF神經網絡中指數函數e的FPGA實現
- LogiCORE JTAG至AXI Master IP核簡介 849次閱讀
- 從Xilinx FFT IP核到FPGA實現OFDM 1125次閱讀
- Video In to AXI4-Stream IP核知識介紹 1429次閱讀
- 使用VCS仿真Vivado IP核時遇到的問題及解決方案 1993次閱讀
- 使用VIvado封裝自定IP并使用IP創建工程 5265次閱讀
- xilinx Vivado工具使用技巧 3934次閱讀
- 調用Vivado IP核的方法 4648次閱讀
- Vivado中的IP核封裝 1w次閱讀
- 基于傳感器溫度補償方法的雙指數函數模型的溫度補償算法設計 9960次閱讀
- Vivado軟件仿真DDS核的過程中應該注意的問題 9659次閱讀
- Xilinx中的xapp1052的詳細解釋 7179次閱讀
- Vivado將模塊封裝為IP的方法介紹 7748次閱讀
- 賽靈思Vivado開發套件與IP核的原理作用分析 1924次閱讀
- 在Vivado下利用Tcl實現IP的高效管理 5708次閱讀
- Vivado環境下如何在IP Integrator中正確使用HLS IP 4324次閱讀
下載排行
本周
- 1HFSS電磁仿真設計應用詳解PDF電子教程免費下載
- 24.30 MB | 128次下載 | 1 積分
- 2雷達的基本分類方法
- 1.25 MB | 4次下載 | 4 積分
- 3電感技術講解
- 827.73 KB | 2次下載 | 免費
- 4從 MSP430? MCU 到 MSPM0 MCU 的遷移指南
- 1.17MB | 2次下載 | 免費
- 5有源低通濾波器設計應用說明
- 1.12MB | 2次下載 | 免費
- 6RA-Eco-RA2E1-48PIN-V1.0開發板資料
- 35.59 MB | 2次下載 | 免費
- 7面向熱插拔應用的 I2C 解決方案
- 685.57KB | 1次下載 | 免費
- 8愛普生有源晶體振蕩器SG3225EEN應用于儲能NPC、新能源
- 317.46 KB | 1次下載 | 免費
本月
- 12024年工控與通信行業上游發展趨勢和熱點解讀
- 2.61 MB | 763次下載 | 免費
- 2HFSS電磁仿真設計應用詳解PDF電子教程免費下載
- 24.30 MB | 128次下載 | 1 積分
- 3繼電保護原理
- 2.80 MB | 36次下載 | 免費
- 4正激、反激、推挽、全橋、半橋區別和特點
- 0.91 MB | 32次下載 | 1 積分
- 5labview實現DBC在界面加載配置
- 0.57 MB | 21次下載 | 5 積分
- 6在設計中使用MOSFET瞬態熱阻抗曲線
- 1.57MB | 15次下載 | 免費
- 7GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
- 7.43 MB | 14次下載 | 免費
- 8H橋中的電流感測
- 545.39KB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935113次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191360次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81578次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73804次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評論
查看更多