NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

請問fpga開發fft的相關問題

我是使labview8.2版本,你是用fft的範例嗎?  我是將xilinx fft ip 經過compile完之後,產生一個vhdl的檔,裡面都是vhdl連接腳的code,再將其code放至labveiw的hdl block的code選項,依照structure和begin的方式,分別放進vhdl程式碼,再按下check syntex  會出現error
 
0 積分
11 條訊息(共 17 條)
7,874 檢視

Hi

我的作法和你一樣

但不曉得你HDL Interface Node 的Code-->"architecture implementation of halnode is" 和 "begin" 兩個欄位的code是如何產生的

這個部分我直接使用網頁上的範例

(如果我重新自己include VHDL code進來 code的這兩個欄位是空白的)



由 Ching-Yu 在 11-14-2007 11:45 PM 上編輯的訊息
0 積分
12 條訊息(共 17 條)
7,870 檢視

HDL Interface Node 的Code-->"architecture implementation of halnode is" 和 "begin" 這兩個是xilinx fft ip 經過compile之產生一個vhd的檔我是照 裡面檔案格式放的  不是有個有architecture和begin的副程式之下,分別放入,還有library也要建立,ip的接腳也要建立

例如:

entity fft is
  port (
    fwd_inv_we : in STD_LOGIC := 'X';
    rfd : out STD_LOGIC;
    start : in STD_LOGIC := 'X';
    fwd_inv : in STD_LOGIC := 'X';
    dv : out STD_LOGIC;
    scale_sch_we : in STD_LOGIC := 'X';
    done : out STD_LOGIC;
    clk : in STD_LOGIC := 'X';
    busy : out STD_LOGIC;
    edone : out STD_LOGIC;
    scale_sch : in STD_LOGIC_VECTOR ( 9 downto 0 );
    xn_re : in STD_LOGIC_VECTOR ( 15 downto 0 );
    xk_im : out STD_LOGIC_VECTOR ( 15 downto 0 );
    xn_index : out STD_LOGIC_VECTOR ( 9 downto 0 );
    xk_re : out STD_LOGIC_VECTOR ( 15 downto 0 );
    xn_im : in STD_LOGIC_VECTOR ( 15 downto 0 );
    xk_index : out STD_LOGIC_VECTOR ( 9 downto 0 )
  );
end fft;

architecture STRUCTURE of fft is
  signal sig00000001 : STD_LOGIC;
  signal sig00000002 : STD_LOGIC;
  signal sig00000003 : STD_LOGIC;
  signal sig00000004 : STD_LOGIC;
  signal sig00000005 : STD_LOGIC;
  signal sig00000006 : STD_LOGIC;
  signal sig00000007 : STD_LOGIC;
  signal sig00000008 : STD_LOGIC;
  signal sig00000009 : STD_LOGIC;
  signal sig0000000a : STD_LOGIC;
  signal sig0000000b : STD_LOGIC;
  signal sig0000000c : STD_LOGIC;

......

begin
  sig0000005f <= scale_sch(9);
  sig00000060 <= scale_sch(8);
  sig00000061 <= scale_sch(7);
  sig00000062 <= scale_sch(6);
  sig00000063 <= scale_sch(5);
  sig00000064 <= scale_sch(4);
  sig00000065 <= scale_sch(3);
  sig00000066 <= scale_sch(2);
  sig00000067 <= scale_sch(1);
  sig00000068 <= scale_sch(0);
  sig0000003c <= xn_re(15);
  sig0000003d <= xn_re(14);
  sig0000003e <= xn_re(13);
  sig0000003f <= xn_re(12);
  sig00000040 <= xn_re(11);
  sig00000041 <= xn_re(10);
  sig00000042 <= xn_re(9);
  sig00000043 <= xn_re(8);
  sig00000044 <= xn_re(7);
  sig00000045 <= xn_re(6);
  sig00000046 <= xn_re(5);
  sig00000047 <= xn_re(4);
  sig00000048 <= xn_re(3);
  sig00000049 <= xn_re(2);
  sig0000004a <= xn_re(1);
  sig0000004b <= xn_re(0);

0 積分
13 條訊息(共 17 條)
7,859 檢視
Hi
 
我認為不是只copy-paste VHDL code就可以了
我比較了ipcore產生的VHDL和範例的HDL node裡面的code是不同的
請你看一下這篇的說明
 
另外 不曉得在RT做FFT的效果試得如何?
0 積分
14 條訊息(共 17 條)
7,842 檢視
那篇文章我看了,看來好像是要寫一些vhdl code,但是現在要在學vhdl可能來不及,在RT上用fft,那就失去了買fpga的意義了,變成會造成delay的問題,可以請教你是否會寫vhdl code呢?我該怎麼改那個vhdl code,我有試著跟ni應用工程師尋問了兩個星期,請他們幫忙至美國的r&d索取fft的ip,目前還是沒有回應
0 積分
15 條訊息(共 17 條)
7,677 檢視

您說在RT run FFT 會造成 delay ,請問您試過嗎?

您的 FFT 需要的時間在 us 等級那麼只要在 RT 就夠了,

如果需要的時間在 ns 等級,那才需要在 FPGA。

0 積分
16 條訊息(共 17 條)
7,646 檢視
因為如果你將訊號送進fpga,再將其傳回rt,這樣就會有delay,然後運算完,再傳回fpga,這樣不就delay更多了,我想這樣應該會造成後面程序上的timing不準   我還有個問題就是 我有ai模組9221  針對他的取樣,我該如何做取樣的動作呢? 如果要取一週期信號  是利用zero crossing來做判斷嗎?
0 積分
17 條訊息(共 17 條)
7,640 檢視