亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? synth_test.vhd

?? 一篇用VHDL實現快速傅立葉變換的論文
?? VHD
字號:
--TESTBENCH FOR THE ENTIRE PROCESSOR. FOR SYNTHESIS THIS FILE WITHOUT 
-- THE STIMULUS PART IS GIVEN AS THE TOP LEVEL ENTITY.
library ieee ;
use ieee.std_logic_1164.all ;
use ieee.std_logic_arith.all ;
use work.butter_lib.all ;
use ieee.std_logic_unsigned.all ;

entity synth_main is
port (
      data_io : in std_logic_vector(31 downto 0);
      final_op : out std_logic_vector(31 downto 0) ;
      clock_main,clock,enbl,reset,init : in std_logic) ;     
end synth_main ;

architecture rtl of synth_main is 
signal shft , waves : std_logic_vector(3 downto 0) ;

component subtractor 
  port ( 
       a : in std_logic_vector (31 downto 0) ;
       b : in std_logic_vector (31 downto 0) ;
       clock , rst_sub , sub_en : in std_logic ;
       a_smaller , fin_sub , num_zero : out std_logic ;
       zero_detect : out std_logic_vector(1 downto 0) ;
       sub : out std_logic_vector (8 downto 0);
       change : out std_logic ) ;
end component ;

component swap
 port (
       a : in std_logic_vector (31 downto 0) ;
       b : in std_logic_vector (31 downto 0) ;
       clock : in std_logic ;
       rst_swap , en_swap : in std_logic ;
       finish_swap : out std_logic ;
       d : out std_logic_vector (31 downto 0) ;
       large_exp : out std_logic_vector (7 downto 0) ;
       c  : out std_logic_vector (32 downto 0 ) ) ;
end component ;

 
component shift2
 port (
       sub_control : in std_logic_vector (8 downto 0) ;	
       c_in  : in std_logic_vector (32 downto 0) ;
       shift_out : out std_logic_vector (31 downto 0) ;
       clock , shift_en , rst_shift : in std_logic ;
       finish_out : out std_logic ) ;
end component ;

component control_main
 port ( 
       a_small , sign_a , sign_b : in std_logic ;
       sign_out , add_sub , reset_all : out std_logic ;
       en_sub , en_swap , en_shift , addpulse , normalise : out std_logic ;
       fin_sub , fin_swap , finish_shift , add_finish , end_all : in std_logic ;
       clock_main , clock , reset , enbl , zero_num , change : in std_logic ) ;
end component ;

component summer 
 port ( 
       num1 , num2 : in std_logic_vector (31 downto 0) ;
       exp : in std_logic_vector (7 downto 0) ;
       addpulse_in , addsub , rst_sum : in std_logic ;
       add_finish : out std_logic ;
       sumout : out std_logic_vector ( 32 downto 0) ) ;
end component ;

component normalize
 port ( 
      a , b : in std_logic_vector (31 downto 0) ;
      numb : in std_logic_vector (32 downto 0) ;
      exp : in std_logic_vector (7 downto 0) ;
      signbit , addsub , clock , en_norm , rst_norm  : in std_logic  ;
      zero_detect : in std_logic_vector(1 downto 0) ;
      exit_n : out std_logic ;
      normal_sum : out std_logic_vector (31 downto 0) ) ;
end component ;

component but_gen
port (
      add_incr , add_clear , stagedone : in std_logic ;
      but_butterfly : out std_logic_vector(3 downto 0) ) ;
end component ;

component stage_gen 
port (
      add_staged , add_clear : in std_logic ;
      st_stage : out std_logic_vector(1 downto 0) ) ;  
end component ;

component iod_staged is
port (
      but_fly : in std_logic_vector(3 downto 0) ;
      stage_no : in std_logic_vector(1 downto 0) ;
      add_incr , io_mode  : in std_logic ;
      add_iod , add_staged , add_fftd : out std_logic ; 
      butterfly_iod : out std_logic_vector(3 downto 0) ) ;
end component ;

component baseindex
port (
      ind_butterfly : in std_logic_vector(3 downto 0) ;
      ind_stage : in std_logic_vector(1 downto 0) ;
      add_fft : in std_logic ;
      fftadd_rd : out std_logic_vector(3 downto 0) ;
      c0 , c1 , c2 , c3 : in std_logic ) ; 
end component ;

component ioadd_gen
port (
      io_butterfly : in std_logic_vector(3 downto 0) ;
      add_iomode , add_ip , add_op : in std_logic ;
      base_ioadd : out std_logic_vector(3 downto 0) ) ;
end component ;

component mux_add 
port (
      a , b : in std_logic_vector(3 downto 0) ;
      sel : in std_logic ;
      q : out std_logic_vector(3 downto 0) ) ;
end component ;

component ram_shift
port (
      data_in : in std_logic_vector(3 downto 0) ;
      clock_main : in std_logic ;
      data_out : out std_logic_vector(3 downto 0) ) ;
end component ;

component cycles
port (
      clock_main , preset , c0_en , cycles_clear : in std_logic ;
      waves : out std_logic_vector(3 downto 0) ) ;
end component ;

component counter 
port (
      c : out std_logic_vector(2 downto 0) ;
      disable , clock_main , reset : in std_logic) ;
end component ;


component mult_clock
port (
      clock_main , mult1_c0 , mult1_iomode , mult_clear : in std_logic ;
      mult1_addincr : out std_logic ) ;
end component ;

component cont_gen 
port (
      con_staged , con_iod , con_fftd , con_init : in std_logic ;
      con_ip , con_op , con_iomode , con_fft : out std_logic ;
      con_enbw , con_enbor , c0_enable , con_preset : out std_logic ;
      con_clear , disable : out std_logic ;
      c0 , clock_main : in std_logic ;
      en_rom , en_romgen , reset_counter : out std_logic ; 
      con_clkcount : in std_logic_vector(2 downto 0) ) ;
end component ;

component and_gates 
port (
      waves_and : in std_logic_vector(3 downto 0) ;
      clock_main , c0_en : in std_logic ;
      c0,c1,c2,c3 : out std_logic ;
      c0_c1,c2_c3,c0_c2,c1_c3 : out std_logic ) ;
end component ;

component r_block
port (
       data : in std_logic_vector(31 downto 0) ;
       trigger : in std_logic ;
       r_out : out std_logic_vector(31 downto 0) ) ;
end component ;

component l_block
port (
       data_l : in std_logic_vector(31 downto 0) ;
       trigger_l : in std_logic ;
       l_out : out std_logic_vector(31 downto 0) ) ;
end component ;

component level_edge  
 port (
       data_edge : in std_logic_vector(31 downto 0) ;
       trigger_edge : in std_logic ;
       edge_out : out std_logic_vector(31 downto 0) ) ;
end component ;

component mux 
port (
       d0 , d1 : in std_logic_vector(31 downto 0) ;
       mux_out : out std_logic_vector(31 downto 0) ;
       choose : in std_logic ) ;
end component ;

component negate 
port (
       neg_in : in std_logic_vector(31 downto 0) ;
       neg_en , clock_main : in std_logic ;
       neg_out : out std_logic_vector(31 downto 0) ) ;
end component ;

component multiply
port(
      num_mux , num_rom : in std_logic_vector(31 downto 0) ;
      clock  : in std_logic ;
      mult_out : out std_logic_vector(31 downto 0) ) ;
end component ;

component divide
port (
       data_in : in std_logic_vector(31 downto 0) ;
       data_out : out std_logic_vector(31 downto 0) ) ;
end component ;

component romadd_gen is
port (
      io_rom,c0,c1,c2,c3 : in std_logic ;
      stage_rom : in std_logic_vector(1 downto 0) ;
      butterfly_rom : in std_logic_vector(3 downto 0) ;
      romadd : out std_logic_vector(2 downto 0) ;
      romgen_en : in std_logic );
end component ;

component reg_dpram is
port (
      data_fft , data_io : in std_logic_vector (31 downto 0);
      q : out std_logic_vector (31 downto 0);
      clock , io_mode : in std_logic;
      we , re : in std_logic;
      waddress: in std_logic_vector (3 downto 0);
      raddress: in std_logic_vector (3 downto 0));
end component ;

component rom is
port (
      clock , en_rom : in std_logic ;
      romadd : in std_logic_vector(2 downto 0) ;
      rom_data : out std_logic_vector(31 downto 0) ) ;
end component ;

component print_result is
port (clock,op : in std_logic ;
      fin_res : out std_logic_vector(31 downto 0) ;
      result : in std_logic_vector(31 downto 0));
end component ;

begin

result : print_result port map (clock_main,op,final_op,ram_data) ;
but : but_gen port map (incr , clear , staged ,butterfly_iod) ;
stg : stage_gen port map (staged , clear , stage) ;
iod_stgd : iod_staged port map(butterfly_iod,stage,incr,io_mode,iod,staged,fftd,butterfly) ; 
base : baseindex port map (butterfly , stage , fft_en , fftadd_rd , c0 , c1 , c2 , c3) ;
ioadd : ioadd_gen port map (butterfly , io_mode , ip , op , io_add) ;
ram_shift1 : ram_shift port map (fftadd_rd , clock_main , shift1) ;
ram_shift2 : ram_shift port map (shift1 , clock_main , shft) ;
ram_shift3 : ram_shift port map (shft , clock_main , shift3) ;
ram_shift4 : ram_shift port map (shift3 , clock_main ,shift4) ;
ram_shift5 : ram_shift port map (shift4 , clock_main , shift5) ;
--ram_shift6 : ram_shift port map (shift5 , clock_main , shift6) ;
multx1 : mux_add port map (shift5 , io_add , io_mode , ram_wr) ;
multx2 : mux_add port map (fftadd_rd , io_add , io_mode , ram_rd) ;
cyc : cycles port map (clock_main , preset , c0_en , cyc_clear , waves) ;
gates : and_gates port map(waves,clock_main,c0_en,c0,c1,c2,c3,c0_c1,c2_c3,c0_c2,c1_c3) ;
cnt : counter port map (clk_count , disable , clock_main , reset_count) ; 
mux_clock : mult_clock port map (clock_main , c0 , io_mode , clear , incr) ;
control : cont_gen port map (staged , iod , fftd , init , ip , op , io_mode , fft_en ,
enbw , enbor , c0_en , preset , clear , disable , c0 , clock_main ,rom_en,romgen_en,reset_count,clk_count) ;

reg_ram : reg_dpram port map (out_data,data_io,ram_data,clock_main,io_mode,enbw,enbor,ram_wr,ram_rd) ;

f1 : r_block port map (ram_data , c0 , d2) ;
f2 : l_block port map (ram_data , c1 , d3) ;
f3 : r_block port map (ram_data , c2 , d4) ;
f4 : r_block port map (ram_data , c3 , d5) ;
f5 : r_block port map (d8 , c1_c3 , d9) ;
f6 : l_block port map (d8 , c0_c2 , d10) ;
f7 : l_block port map (d12 , c3 , d13) ;
f8 : l_block port map (d12 , c1 , d14) ;
f9 : r_block port map (d17 , clock_main , d18) ;
f10 : r_block port map (data_rom , clock_main , rom_ff) ;
mux1 : mux port map (d2 , d3 , d6 , c2_c3) ;
mux2 : mux port map (d4 , d5 , d7 , c1_c3) ;
mux3 : mux port map (d13 , d14 , d15 , c1_c3) ;
neg1 : negate port map (d10 , c0_c1 ,clock_main , d11) ;
neg2 : negate port map (d15 , c0_c1 ,clock_main , d16) ;
mult1 : multiply port map (d6 , rom_ff , clock_main , d8) ;
div : divide port map (d18 , d19) ;
f11 : level_edge port map (d19,clock_main,out_data) ;

rom_add1 : romadd_gen port map (io_mode,c0,c1,c2,c3,stage,butterfly,rom_add,romgen_en) ;
rom1 : rom port map (clock ,rom_en,rom_add,data_rom) ;

b11 : subtractor port map ( d16 , d7 , clock , rstb , ensubb , a_smallb , finsubb , numzerob , zerodetectb , subb ,  changeb) ;
b2 : swap port map ( a=>d16 , b=>d7 , clock=>clock , rst_swap=>rstb , en_swap=>enswapb , finish_swap=>finswapb , d=>swap_num2b , large_exp=>expb , c=>swap_num1b ) ;
b4 : shift2 port map (sub_control=>subb , c_in=>swap_num1b , shift_out=>shift_outb , clock=>clock , shift_en=>enshiftb,
rst_shift=>rstb , finish_out=>finshiftb ) ;
b5 : control_main port map ( a_smallb , d16(31) , d7(31) , signbitb , addsubb , rstb , ensubb , 
enswapb , enshiftb , addpulseb , normaliseb , finsubb , finswapb , finshiftb ,finish_sumb , end_allb , 
clock_main , clock , reset , enbl , numzerob , changeb ) ;
b6 : summer port map ( shift_outb , swap_num2b , expb , addpulseb , addsubb , rstb , finish_sumb , sum_outb ) ;
b7 : normalize port map (d16 , d7 , sum_outb , expb , signbitb , addsubb , clock , normaliseb , rstb , zerodetectb , end_allb , d17) ;

a1 : subtractor port map ( d9 ,  d11 , clock , rst , ensub , a_small , finsub , numzero , zerodetect , suba , changea) ;
a2 : swap port map (d9 ,d11 ,clock ,rst ,enswap , finswap ,swap_num2 , exp , swap_num1 ) ;
a4 : shift2 port map (suba ,swap_num1 ,shift_outa ,clock , enshift , rst , finshift ) ;
a5 : control_main port map ( a_small , d9(31) , d11(31) , signbit , addsub , rst , ensub , 
enswap , enshift , addpulse , normalise , finsub , finswap , finshift ,finish_sum , end_all , 
clock_main , clock , reset , enbl , numzero , changea ) ;
a6 : summer port map ( shift_outa , swap_num2 , exp , addpulse , addsub , rst , finish_sum , sum_out ) ;
a7 : normalize port map (d9 , d11 , sum_out , exp , signbit , addsub , clock , normalise , rst , zerodetect , end_all , d12) ;

end rtl ;

process
variable i : integer := 0 ;
begin 
for i in 1 to 1000 loop 
clock <= '1' ;
wait for 5 ns ;
clock <= '0' ;
wait for 5 ns ;
end loop ;
end process ;

process
variable j : integer := 0 ;
begin 
for j in 1 to 1000 loop 
clock_main <= '1' ;
wait for 200 ns ;
clock_main <= '0' ;
wait for 200 ns ;
end loop ;
end process ;

process
file vector_file : text open read_mode is "d:\user\ray\project\vhdl_code\synth_but\rom_ram.vhd" ;
variable l , l2 : line ;
variable q , p : integer := 0 ;
variable count : integer ;
variable t_a , t_b : std_logic_vector (31 downto 0) ; 
variable space : character ;
begin 

while not endfile(vector_file) loop
--for count in 1 to 16 loop
q := 31 ;
readline(vector_file , l2) ;

for p in 1 to 32 loop -- data from RAM
read(l2 , t_b(q)) ;
q := q - 1 ;
end loop ;
q := 31 ;
data_io <= t_b(31 downto 0) ;

wait for 400 ns ;
end loop ;
wait for 8 ms ;
--wait for 650 ns ;
end process;

-- process to reset
process
begin
reset <= '1' ;
enbl <= '1' ;
wait for 10 ns ;
reset <= '0' ;
wait ;
end process ;

process
begin
init <= '1' ;
wait for 15 ns ;
init <= '0' ;
wait ;
end process ;

end stimonly ;















?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品传媒在线| 日韩视频免费观看高清完整版在线观看| 亚洲成人av在线电影| 国产精品初高中害羞小美女文| 久久综合九色综合97婷婷 | 97久久精品人人澡人人爽| 国产一区二区三区久久久| 精品亚洲porn| 精品一区二区三区欧美| 韩国三级在线一区| 国产九色sp调教91| 成人激情校园春色| 色一情一乱一乱一91av| 在线中文字幕不卡| 欧美久久久久久久久| 日韩一级片网站| 精品播放一区二区| 国产精品视频看| 亚洲一区在线观看免费观看电影高清 | 久久影院视频免费| 久久久久一区二区三区四区| 国产精品久久久久久久久果冻传媒 | 偷拍日韩校园综合在线| 日韩高清在线观看| 国产一区二区三区精品视频| 成人黄色小视频| 欧美无砖专区一中文字| 精品欧美乱码久久久久久1区2区| 国产亚洲综合性久久久影院| 最新久久zyz资源站| 午夜精品视频一区| 国产传媒日韩欧美成人| 欧美在线视频日韩| 久久亚洲精品国产精品紫薇| 综合激情成人伊人| 久久99国产精品成人| 91网上在线视频| 欧美一区二区在线视频| 亚洲视频免费看| 久久国产成人午夜av影院| 95精品视频在线| 欧美变态tickling挠脚心| 亚洲精品国产视频| 国产精品中文字幕欧美| 欧美电影在线免费观看| 亚洲欧美在线视频| 国内精品视频666| 欧美日韩在线综合| 国产精品三级av| 久久69国产一区二区蜜臀| 成人精品视频网站| 久久蜜桃香蕉精品一区二区三区| 一区二区三区波多野结衣在线观看 | 综合av第一页| 精品一区二区免费在线观看| 欧美性做爰猛烈叫床潮| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲国产精品久久一线不卡| 成人黄色在线网站| 欧美激情一区二区三区全黄| 老司机精品视频线观看86| 欧美日韩和欧美的一区二区| 一区在线观看视频| 粉嫩高潮美女一区二区三区 | 99v久久综合狠狠综合久久| 精品国产乱码久久| 日韩va欧美va亚洲va久久| 欧美性色综合网| 亚洲精品五月天| caoporn国产一区二区| 中文字幕成人网| 国产盗摄一区二区| 国产欧美综合在线观看第十页 | 亚洲黄色在线视频| 91视频免费看| 亚洲视频一区二区在线观看| 91一区在线观看| 夜夜精品视频一区二区| 色哟哟欧美精品| 一级做a爱片久久| 日本精品裸体写真集在线观看 | 69堂国产成人免费视频| 午夜亚洲福利老司机| 337p亚洲精品色噜噜狠狠| 日韩电影在线观看一区| 日韩视频免费直播| 国产高清无密码一区二区三区| 久久久99精品免费观看不卡| 成人午夜精品一区二区三区| 一区在线中文字幕| 欧美性大战久久| 麻豆成人久久精品二区三区小说| 精品国内二区三区| 粉嫩一区二区三区性色av| 综合分类小说区另类春色亚洲小说欧美 | 久久综合精品国产一区二区三区 | 亚洲第一会所有码转帖| 欧美美女一区二区三区| 国产真实精品久久二三区| 国产日本一区二区| 91麻豆免费视频| 国产精品资源网站| 亚洲精品欧美在线| 日韩欧美在线1卡| 成人午夜av影视| 亚洲国产va精品久久久不卡综合| 欧美一级在线免费| 成人av在线电影| 亚洲va韩国va欧美va| 久久久影视传媒| 欧美又粗又大又爽| 国产精品亚洲人在线观看| 亚洲精品欧美二区三区中文字幕| 欧美一级片在线看| 91丨porny丨户外露出| 蜜臀99久久精品久久久久久软件| 欧美激情在线免费观看| 91精品国产aⅴ一区二区| 成人av第一页| 韩国精品免费视频| 亚洲一区av在线| 亚洲欧洲另类国产综合| 日韩欧美成人激情| 色综合欧美在线视频区| 国产精品亚洲一区二区三区在线| 亚洲成人福利片| 亚洲摸摸操操av| 国产亚洲成av人在线观看导航| 欧美精品一级二级三级| 91在线视频免费观看| 黑人巨大精品欧美黑白配亚洲| 亚洲二区在线视频| 国产精品毛片大码女人| 亚洲小说欧美激情另类| 国产日韩欧美不卡| 久久亚洲欧美国产精品乐播| 欧美一三区三区四区免费在线看 | 国产色综合一区| 日韩一级免费观看| 在线视频一区二区三| 99久久综合精品| 成人涩涩免费视频| 国产美女在线精品| 精品一区二区国语对白| 久久精品国产99国产精品| 日韩成人一级大片| 日韩精品一二三区| 午夜私人影院久久久久| 日韩精品电影在线| 日日欢夜夜爽一区| 日本成人在线电影网| 日韩av中文字幕一区二区三区| 天堂精品中文字幕在线| 天堂成人免费av电影一区| 日本亚洲免费观看| 久久国产精品99久久久久久老狼| 男人的j进女人的j一区| 免费欧美日韩国产三级电影| 99久久免费视频.com| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 一本到不卡免费一区二区| 91在线小视频| 欧美日韩视频在线第一区| 欧美精品一二三| 精品日韩欧美一区二区| 国产日本欧洲亚洲| 亚洲免费观看高清完整版在线| 亚洲欧美日韩一区二区| 亚洲成人手机在线| 麻豆91精品91久久久的内涵| 久久99精品国产麻豆婷婷洗澡| 国产成人免费av在线| 欧美综合在线视频| 7777精品伊人久久久大香线蕉 | 精品欧美一区二区三区精品久久| 日韩欧美国产wwwww| 国产喂奶挤奶一区二区三区| ●精品国产综合乱码久久久久| 一区二区三区在线免费视频| 午夜欧美电影在线观看| 狠狠狠色丁香婷婷综合激情 | 亚洲欧美综合另类在线卡通| 亚洲一区二三区| 国产一区二区三区久久悠悠色av | 午夜一区二区三区在线观看| 美女在线视频一区| 91香蕉视频mp4| 日韩精品资源二区在线| 综合精品久久久| 麻豆国产精品视频| 色激情天天射综合网| 91精品国产手机| 亚洲欧美自拍偷拍色图| 奇米888四色在线精品| 91免费版在线看| 26uuu久久天堂性欧美| 亚洲大片免费看| a在线欧美一区| 久久久精品国产免大香伊 | 精品国产一区二区三区四区四|