当前位置:首页 » 课程大全 » fpga课程设计心得体会

fpga课程设计心得体会

发布时间: 2021-02-12 19:45:01

课程设计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,学也学不过人家学霸,竞争力一般般,而且搞硬件设计很苦的哦!

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919