fpga課程設計心得體會
⑴ 課程設計fpga:萬年歷
發給你啦
⑵ 有誰做過這個FPGA課程設計的
FPGA課程設計
具體的說吧。
⑶ 高分求FPGA 積分運算需要的程序和電路,請高手指教,課程設計急需,
1、高等數學中定積分定義是運用的是矩形法,既是把曲面梯形分成若干個曲邊梯形,然後用窄矩形代替窄曲邊梯形,從而求得定積分的近似值。
2、本次實訓以f(x)=x²為例,求其在[X1,X2]區間的積分,當然積分器輸入的X1、X2應為四位二進制數。
⑷ 學習FPGA請推薦書籍
在學習一門技術之前我們往往從它的編程語言開始,如同學習單片機一樣,我們從C語言開始入門,當掌握了C語言之後,開發單片機應用程序也就不是什麼難事了。學習FPGA也是如此,FPGA的編程語言有兩種:VHDL和Verilog,這兩種語言都適合用於FPGA的編程,VHDL是由美國軍方組織開發的,在1987年就成為了IEEE的標准;而Verilog則是由一家明間企業的私有財產轉移過來的,由於其優越性特別突出,於是在1995年也成為了 IEEE標准。VHDL在歐洲的應用較為廣泛,而Verilog在中國、美國、日本、台灣等地應用較為廣泛,作者比較推崇是Verilog,因為它非常易於學習,很類似於C語言,如果具有C語言基礎的人,只需要花很少的時間便能迅速掌握Verilog,而VHDL則較為抽象,學習的時間較長。
作為在校大學生,學習Verilog的最好時期是在大學二年級開設《電子技術基礎(數字部分)》時同步學習,不僅能夠理解數字電路實現的方式,更能通過FPGA將數字電路得以實現。作者發現華中科技大學康華光教授主編的《電子技術基礎(數字部分)》非常好,可以說是一本與時俱進的教材,在本書的第二章最後一節專門介紹了Verilog語言與FPGA,並且在每一章的最後一節都介紹了如何使用Verilog建模實現相關數字電路的內容,因此本書非常適合大二學習FPGA的學生參考。本書是以《電子技術基礎(數字部分)》為背景,並與該書同步配套學習FPGA,並在它的基礎上作了改進,源於它而又高於它。
大三、大四的學生還可以進一步強化學習Verilog,建議以北京航天航空大學出版社出版的由夏宇聞教授編寫的《Verilog數字系統設計教程(第二版)》作為藍本,本書比較全面地、詳細地介紹了Verilog的基本語法。如果是其他初學者,可以直接藉助《Verilog數字系統設計教程(第二版)》和本書即能全面掌握Verilog的語法,這是學習FPGA的第一步,也是必不可少的一步。
⑸ E課網上的FPGA開發設計課程怎麼樣有人上過嘛
FPGA開發設計沒有問題我可以給。
⑹ 基於FPGA數字時鍾設計
給你一個八位數碼管的程序(VHDL的)。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY DIANZIZHONG IS
PORT( CLK: IN STD_LOGIC;
JIEZOU: IN STD_LOGIC;
KAIGUAN: IN STD_LOGIC;
MODE: IN STD_LOGIC;
TIAOFEN: IN STD_LOGIC;
TIAOSHI: IN STD_LOGIC;
COM: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
LIUSHUI: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
LEDS1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);
LEDS2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END ENTITY;
ARCHITECTURE BEHAVE OF DIANZIZHONG IS
SIGNAL CLKIN1: STD_LOGIC;
SIGNAL CLKIN2: STD_LOGIC;
SIGNAL CLKIN3: STD_LOGIC;
SIGNAL CLK1: STD_LOGIC;
SIGNAL CO1: STD_LOGIC;
SIGNAL CO2: STD_LOGIC;
SIGNAL TEMP: INTEGER RANGE 0 TO 25;
SIGNAL BCDOUT: STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL SEL: STD_LOGIC_VECTOR(2 DOWNTO 0);
SIGNAL SEC1,SEC0:STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL MIN1,MIN0:STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL HOUR1,HOUR0:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(CLK)
VARIABLE CNT: INTEGER RANGE 0 TO 12000000;
BEGIN
IF(CLK'EVENT AND CLK='1') THEN
IF(CNT=12000000) THEN
CNT:=0;
CLKIN1<=NOT CLKIN1;
ELSE
CNT:=CNT+1;
END IF;
END IF;
END PROCESS;
PROCESS(CLK)
VARIABLE CNT: INTEGER RANGE 0 TO 12000;
BEGIN
IF(CLK'EVENT AND CLK='1') THEN
IF(CNT=12000) THEN
CNT:=0;
CLKIN2<=NOT CLKIN2;
ELSE
CNT:=CNT+1;
END IF;
END IF;
END PROCESS;
process(clk)
variable cnt: integer range 0 to 6000000;
begin
if(clk'event and clk='1') then
if(jiezou='0') then
if(cnt=3000000) then
cnt:=0;
clk1<=not clk1;
else
cnt:=cnt+1;
end if;
else
if(cnt=6000000) then
cnt:=0;
clk1<=not clk1;
else
cnt:=cnt+1;
end if;
end if;
end if;
end process;
process(clk1,KAIGUAN)
begin
if(clk1'event and clk1='1') then
IF(KAIGUAN='1') THEN
temp<=0;
end if;
if(KAIGUAN='0') THEN
if(temp=25) then
temp<=0;
else
temp<=temp+1;
end if;
end if;
end if;
end process;
process(temp)
begin
case temp is
when 0=>liushui<="00000000";
when 1=>liushui<="01000000";
when 2=>liushui<="00100000";
when 3=>liushui<="00010000";
when 4=>liushui<="00001000";
when 5=>liushui<="00000100";
when 6=>liushui<="00000010";
when 7=>liushui<="00000000";
when 8=>liushui<="00000001";
when 9=>liushui<="00000010";
when 10=>liushui<="00000100";
when 11=>liushui<="00001000";
when 12=>liushui<="00010000";
when 13=>liushui<="00100000";
when 14=>liushui<="01000000";
when 15=>liushui<="10000000";
when 16=>liushui<="00011000";
when 17=>liushui<="00100100";
when 18=>liushui<="01000010";
when 19=>liushui<="10000001";
when 20=>liushui<="00000000";
when 21=>liushui<="10000001";
when 22=>liushui<="01000010";
when 23=>liushui<="00100100";
when 24=>liushui<="00011000";
when 25=>liushui<="00000000";
end case;
end process;
PROCESS(CLKIN1,MODE,TIAOFEN,TIAOSHI)
BEGIN
IF(CLKIN1'EVENT AND CLKIN1='1') THEN
CO1<='0';CO2<='0';
IF(MODE='1') THEN
IF(SEC0="1001") THEN
SEC0<="0000";
IF(SEC1="0101") THEN
SEC1<="0000";
ELSE
SEC1<=SEC1+1;
END IF;
ELSE
SEC0<=SEC0+1;
END IF;
IF(SEC1="0101" AND SEC0="1000") THEN
CO1<='1';
ELSE
CO1<='0';
END IF;
IF(CO1='1') THEN
IF(MIN0="1001") THEN
MIN0<="0000";
IF(MIN1="0101") THEN
MIN1<="0000";
ELSE
MIN1<=MIN1+1;
END IF;
ELSE
MIN0<=MIN0+1;
END IF;
END IF;
IF(MIN1="0101" AND MIN0="1001") THEN
CO2<='1';
ELSE
CO2<='0';
END IF;
IF(CO1='1' AND CO2='1') THEN
IF(HOUR0="1001") THEN
HOUR0<="0000";
IF(HOUR1="0010") THEN
HOUR1<="0000";
ELSE
HOUR1<=HOUR1+1;
END IF;
ELSE
HOUR0<=HOUR0+1;
END IF;
IF(HOUR1="0010" AND HOUR0="0011") THEN
HOUR1<="0000";
HOUR0<="0000";
END IF;
END IF;
ELSIF(MODE='0' AND TIAOFEN='0') THEN
IF(MIN0="1001") THEN
MIN0<="0000";
IF(MIN1="0101") THEN
MIN1<="0000";
ELSE
MIN1<=MIN1+1;
END IF;
ELSE
MIN0<=MIN0+1;
END IF;
ELSIF(MODE='0' AND TIAOSHI='0') THEN
IF(HOUR0="1001") THEN
HOUR0<="0000";
IF(HOUR1="0010") THEN
HOUR1<="0000";
ELSE
HOUR1<=HOUR1+1;
END IF;
ELSE
HOUR0<=HOUR0+1;
END IF;
IF(HOUR1="0010" AND HOUR0="0011") THEN
HOUR1<="0000";
HOUR0<="0000";
END IF;
END IF;
END IF;
END PROCESS;
PROCESS(CLKIN2,SEL)
BEGIN
IF(CLKIN2'EVENT AND CLKIN2='1') THEN
IF(SEL="111") THEN
SEL<="000";
ELSE
SEL<=SEL+1;
END IF;
END IF;
CASE SEL IS
WHEN "000"=>COM<="11111110";
BCDOUT<=SEC0;
WHEN "001"=>COM<="11111101";
BCDOUT<=SEC1;
WHEN "010"=>COM<="11111011";
BCDOUT<="1010";
WHEN "011"=>COM<="11110111";
BCDOUT<=MIN0;
WHEN "100"=>COM<="11101111";
BCDOUT<=MIN1;
WHEN "101"=>COM<="11011111";
BCDOUT<="1010";
WHEN "110"=>COM<="10111111";
BCDOUT<=HOUR0;
WHEN "111"=>COM<="01111111";
BCDOUT<=HOUR1;
WHEN OTHERS=>NULL;
END CASE;
END PROCESS;
PROCESS(BCDOUT)
BEGIN
CASE BCDOUT IS
WHEN "0000"=>LEDS1<="0000001";
LEDS2<="0000001";
WHEN "0001"=>LEDS1<="1001111";
LEDS2<="1001111";
WHEN "0010"=>LEDS1<="0010010";
LEDS2<="0010010";
WHEN "0011"=>LEDS1<="0000110";
LEDS2<="0000110";
WHEN "0100"=>LEDS1<="1001100";
LEDS2<="1001100";
WHEN "0101"=>LEDS1<="0100100";
LEDS2<="0100100";
WHEN "0110"=>LEDS1<="0100000";
LEDS2<="0100000";
WHEN "0111"=>LEDS1<="0001111";
LEDS2<="0001111";
WHEN "1000"=>LEDS1<="0000000";
LEDS2<="0000000";
WHEN "1001"=>LEDS1<="0000100";
LEDS2<="0000100";
WHEN "1010"=>LEDS1<="1111110";
LEDS2<="1111110";
WHEN OTHERS=>NULL;
END CASE;
END PROCESS;
END BEHAVE;
程序是帶有流水燈的,即在走時的同時流水燈流動。時間顯示格式為xx—xx—xx,24小時制。三個按鍵,一個為功能鍵,另兩個為調時和調分。
⑺ 畢業已經一年了,還是很迷茫,學FPGA好嗎
如果對硬體設計很感興趣,就下功夫學學FPGA。但如果對硬體設計興趣平平,只為混口飯吃,還是不要去學FPGA,學也學不過人家學霸,競爭力一般般,而且搞硬體設計很苦的哦!