搜档网
当前位置:搜档网 › Verilog fpgA程序课程设计

Verilog fpgA程序课程设计

Verilog fpgA程序课程设计
Verilog fpgA程序课程设计

课题一

一,设计一个可控的100进制可逆计数器,要求用实验箱下载。

(1)计数器的时钟输入信号周期为200ns。

(2)以十进制形式显示。

(3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。

二,设计思路:

由题目可知,可逆计数器有四种工作模式,即清零,加计数,减计数和暂停。由此,我想到有case语句,这也是整个程序的核心。

三,源代码

module updown_count(qout,reset,clk,plus,minus);

output[7:0] qout;/*定义一个8位的输出,其目的是

低四位和高四位分别表示计数器的个位和十位。*/

input clk,plus,minus,reset;//定义四个输入,时钟,加计数,减计数和清零

reg[7:0] qout;//qout的数据类型为寄存器型

always @(posedge clk)//当clk上升沿到来时执行一遍下列程序

begin

if(!reset) qout<=0;//当reset为低电平时,计数器执行清零功能,否则跳过

else

begin

case({minus,plus})//case语句模块,包含加,减和暂停四个模块

2'b10:

if (qout[3:0]==0)//判断个位是否为零,若不为零,跳到个位减一

begin

qout[3:0]<=9;//给个位赋值

if(qout[7:4]==0) qout[7:4]<=9;//判断十位是否为零,并且给十位赋值

else

qout[7:4]<=qout[7:4]-1;//由于个位赋9,相当于向十位借一,因而十位减一end

else

qout[3:0]<=qout[3:0]-1;//个位减一

/*这一部分是减计数模块,其思路是:首先判断个位是否为零,若为零,则执行后面的程序,个位直接赋9,并且十位减一;否则个位减一*/

2'b01:

if (qout[3:0]==9)//判断个位是否为9,否则跳到个位加一

begin

qout[3:0]<=0;//若上面个位为9判断成立,则给个位赋值

if(qout[7:4]==9) qout[7:4]<=0;//判断十位是否为9,若为9,则赋0

else

qout[7:4]<=qout[7:4]+1;//若十位不为9,十位加一

end

else

qout[3:0]<=qout[3:0]+1;//个位加一

/*这一部分是加计数模块,首先判断个位是否为9,若不为9,个位加1;否侧,再判断十位是否为9,

若为9,十位赋0,否侧十位加1。*/

2'b11:

qout[7:0]<= qout[7:0];//暂停计数模块

endcase/*整个case语句模块,当minus为1plus为0时,执行减计数;minus 为0plus为1时;

执行加计数;minus为1plus为1时,暂停。*/

end

end

endmodule

三,波形仿真图

由仿真波形图可以看出,当reset为0时,清零;当plus为0,minus为1时,做减计数;当plus为1,minus为0时,做加计数;当plus为1,minus为1时,保持不变。验证可逆计数器的逻辑功能正确。

四,建立一个顶层文件

当仿真正确时,在图形界面上进行打包工作,在上方工具栏中选File/Create Defaul Symble。然后建立一个新的图形输入文件(.gdf),但存档目录仍然为第一次建立的文件夹,在输入图形界面上双击鼠标左键,会出现下图所示的对话框:

在Symbol Files选项下就是做好的模块,然后连续构成完整的顶层文件:

四,下载

1.译码模块介绍:由于提供实验箱的七段显示器是扫描形式工作,需要进行译码以及选择扫描。先介绍该模块,模块如图:

该模块由三个部分组成,包括1个8进制计数器,一个3—8数据选择器及七段显示译码器

该模块工作方式:先由较快的频率进行8进制计数构成3—8数据选择器的地址线A0,A1,A2,然后进行选择,灯管A—H从右依次排列,最后将选中的灯管进行译码。

最后将该模块连入最后的顶层文件,即可进行下载工作。

2.按键扫描模块介绍:由于实验箱提供的按键系统为4*4扫描矩阵,需将横向或纵向按键设置0或1,该模块只需在顶层文件中接4个output出来接地,如图:

3.最后的顶层文件

打开主体电路的顶层文件,双击鼠标左键,出现Enter Symbol 对话框,将计数器器模块和译码包模块选出来,然后将他们连接起来,连接完成后,进行时序编译,点击MAX+plusⅡ,选compiler,并点击processing,去掉Functional SNF Extractor前面的勾,然后进行仿真。

4.选择所有器件:在上方工具栏中选Assign/Device-弹出设备对话框,在Device Family 栏中选ACEX1K,把show only fastest speed grads 项前面的勾去掉(特别注意)。在Device栏中选系列EP1K30TC144-3;点击ok完成添加。如图所示:

5.分配输入,输出信号在器件上的引脚号:选MAX+plusⅡ/Floorplan Editor,进入版图编辑环境;

选Layout/current Assignments Floorplan ,以当前的引脚作为标准;

根据实验板外接资源进行引脚分配,方法是:选右上方unssigned Node&Pins:栏目中待分配的引脚,按住左键并拖放到相应的引脚上去。按Delete键,可删除错误的分配。

分配时注意事项:(1)芯片上有些特殊功能的管脚(如GND,Global CLK等),进行管脚编辑时不能使用;

(2)在器件选择时如果选择了Auto,则不允许对管脚进行再分配;

(3)对管脚进行重新分配后,必须再编译一次,否则下载后的

管脚还是自动分配状态

课题二

一.设计课题2:交通灯控制系统,要求用实验箱下载。

(1)设计一个十字路口交通信号灯的定时控制电路。要求红、绿灯按一定的规律亮和灭,绿灯亮时,表示该车道允许通行;红灯亮时,该车道禁止通行。并在亮灯期间进行倒计时,并将运行时间用数码管显示出来。

(2)要求主干道每次通行时间为40秒,支干道每次通行时间为30秒。每次变换运行车道前绿灯闪烁,持续时间为5秒。即车道要由主干道转换为支干道时,主干道在通行时间只剩5秒钟时,绿灯闪烁5秒显示,支干道仍为红灯,以便主干道上已过停车线的车继续通行,未过停车线的车停止通行。同理,当车道由支干道转换为主干道时,支干道绿灯闪烁显示5秒钟,主干道仍为红灯。

(3)定时器要求采用递减计时方式进行计时。

两个定时时间:绿灯闪烁和绿灯停止闪烁

4个状态:

S0:主干道绿灯亮,支干道红灯亮。

S1:主干道绿灯闪烁,支干道红灯亮。

S2:支干道绿灯亮,主干道红灯亮。

S3:支干道绿灯闪烁,主干道红灯亮。

二.设计思路:

交通灯控制系统主要涉及两个模块,即控制灯-亮的顺序和倒计时模块。这两个模块是并行的,同时执行。倒计时模块可参考可逆计数器的减计数模块。根据题目要求,我可先做一个70的计数器,控制灯亮的顺序,然后再做40和30进制的计数器。由30+40=70,这三个计数器有联系,相当于要把70进制计数器“拆成”两个计数器。

三.源代码:

module traffic3(out1,out2,clk,agreen,bgreen,ared,bred);

output[3:0] out1,out2;//定义两个四位输出,分别表示十位,个位

output agreen,bgreen,ared,bred;/*定义四个输出,A干道红灯,绿灯;

B干道的红灯,绿灯*/

input clk;//输入时钟信号

reg[3:0] out1,out2;//数据类型为4位寄存器型

reg bgreen,bred,ared,agreen;//数据类型为1位寄存器型

integer i;//数据类型为整型

always @(posedge clk )//每当clk上升沿到来时执行一遍下面的程序

begin

begin

i=i+1;

if(i<=40) begin agreen<=1;bgreen<=0;ared<=0;bred<=1; end/*

主干道绿灯亮40秒,次干道红灯亮40秒*/

if((i>=35)&&(i<=40)) begin agreen<=~agreen; end

//最后5秒主干道绿灯闪烁

if((i>40)&&(i<=70)) begin agreen<=0;bgreen<=1;ared<=1;bred<=0; end

//次干道绿灯亮30秒,主干道红灯亮30秒

if((i>=65)&&(i<=70)) begin bgreen<=~bgreen; end

//最后5秒次干道绿灯闪烁

if(i==70) begin i<=0; end//当i到70,重新赋值

end

/*这个模块是先定义一个70进制计数器,前40秒控制主干道的绿灯;

后30秒控制次干道的绿灯。*/

begin

if(i<40)/*i控制计数器,当i小于40,主干道计数器工作,否则,次干道计数器工作*/

begin

if(out1==0)/* 判断个位是否为0,若位为0,

则顺序执行下面的程序,否则跳到个位减1*/

begin

out1<=9;//给个位赋值

if(out2==0)//判断十位是否为0

out2<=3;//若十位为0,给十位赋值

else out2<=out2-1;//若十位不为0,十位减1

end

else

out1<=out1-1;// 个位减1

end

/*主干道的减计数器,从39减到0*/

else

begin

if(out1==0)

begin

out1<=9;

if(out2==0)

out2<=2;

else out2<=out2-1;

end

else

out1<=out1-1;

end

/*次干道倒计时模块,从29减到0*/

end

end

endmodule

三仿真波形

由波形仿真图可以看出,主干道a的绿灯亮40秒,最后5秒闪烁,次干道b的红灯亮40秒;主干道a的红灯亮30秒,次干道的绿灯亮30秒,最后5秒闪烁。验证了交通灯的逻辑功能正确。

四建立顶层文件

该步骤需要建立一个新的图形输入文件(.gdf),但存档目录仍然为第一次建立的文件夹,并且将相应的电路模块进行相连。

五下载

下载,参考课题一

课题三

一.设计课题3:多功能数字钟系统(层次化设计),要求用实验箱下载。

(1)基本功能:60秒—60分—24小时。

(2)扩展功能:①报时;每小时59分51,53,55,57秒低频报时,59秒高频报时。

②校时校分;

③时段控制;6点—18点输出灯不亮,其它时间灯亮。

④独立设计除上述3种功能以外的扩展功能,可加分。

二.设计思路:

由题目要求可知,把系统分成各个功能模块,小时计时模块,分钟计时模块,秒计时模块,校时校分模块,整点报时模块,时段控制模块。在顶层文件中,由若干底层模块(“打包”)组成整个多功能数字钟,分别对各模块作设计及仿真,最后级连各模块(创建的包),统调,仿真及下载,从而实现各项功能。

三.源代码及具体实现过程:

1,小时计时模块:

module m24(H,CPH,RD);

output[7:0] H;//定义一个8位的输出,低四位为个位,高四位为十位

input CPH,RD;//输入为时钟信号,RD为使能信号

reg[7:0] H;//H的数据类型为寄存器型

always @ (negedge RD or posedge CPH)//RD下降沿到来时或时钟信号上升沿到来时执行下面的程序

begin

if (!RD) H[7:0]<=0;//RD为低电平时,给H赋值

else

/*该模块是一个24进制的计数器,首先判断是否为23,若为23,则直接赋0。

再判断个位是否为9,若为9,直接给个位赋0,十位加1;否则个位加一*/

begin

if((H[7:4]==2)&&(H[3:0]==3))//判断是否为23

begin H[7:0]<=0; end//若为23,直接赋值0

else//若不为23,则执行下列程序

begin

if(H[3:0]==9)//判断个位是否为9

begin H[3:0]<=0;H[7:4]<=H[7:4]+1;end//若个位为9,个位赋0,十位加1

else

H[3:0]<=H[3:0]+1;//若个位不为9,个位加1

end

end

end

endmodule

仿真波形:

由仿真图可看出,当小时的高四位为0,1时,小时的低四位为9是,在下一个时钟的上跳沿来了之后,高四位加1;当小时的高四位为2,同时低四位为3时,小时的高低四位都清零。实现了从00到23的循环计数,验证了该模块的逻辑正确。

2.分钟计时模块:

module m60(M,CP60M,CPM,RD);

output[7:0] M;//定义一个8位输出,低四位为个位,高四位为十位

output CP60M;//j进位信号,作为小时计时模块的时钟信号

input CPM;//输入时钟信号

input RD;//RD为使能端

reg [7:0] M;//M的类型为寄存器型

wire CP60M;//CP60M为连线型变量

always @ (negedge RD or posedge CPM)//RD下降沿到来时或时钟信号上升沿到来时执行下面的程序

begin

if(!RD)//RD为低电平时,给H赋值

begin M[7:0]<=0;end

else

/*该模块是一个60进制的计数器,首先判断是否为59,若为59,赋0;若不为59,再判断个位是否为9,若个位为9,

个位为0,十位加一;否则个位加1*/

begin

if((M[7:4]==5)&&(M[3:0]==9))//判断是否为59

begin

M[7:0]<=0;//若为59,赋0

end

else

if(M[3:0]==9) //判断个位是否为9

begin

M[3:0]<=0;//若个位为9,个位赋0

if(M[7:4]==5)//判断十位是否为5,若为5,十位赋0

begin M[7:4]<=0;end

else

M[7:4]<=M[7:4]+1;//若十位不为5,十位加一

end

else

M[3:0]<=M[3:0]+1;//若个位不为9,个位加1

end

end

assign CP60M=~(M[6]&M[4]&M[3]&M[0]);//按位与,当为59时,产生一个低电平,作为仅为信号

endmodule

仿真波形:

由仿真图可知,当分钟的高四位为0,1,2,3,4时,小时的低四位为9时,在下一个时钟的上升沿到来时,高四位加1;当分钟的高四位为5,同时低四位为9时,分钟的高低四位都清零。实现了从00到59的循环计数,验证了该模块的逻辑正确。

3,秒计时模块:

秒计时模块与分钟计时模块相同。可参考分钟计时模块。

4,校时校分模块:

module jiaoshi (CPM,CPH,CPS,CP60M,CP60S,SWM,SWH);

output CPM,CPH;//定义两个输出,CPM为分计时模块的时钟信号,CPH为小时计时模块的时钟信号

input SWH,SWM;//定义两个输入,SWH为校时,SWM为校分

input CPS,CP60S,CP60M;/*定义四个输入,CPS为秒计时模块时钟信号,CP60S为秒计时模块的进位信号,CP60M为分计时模块的仅为信号*/ reg CPM,CPH;//CPM,CPH的数据类型为寄存器型

always @ (SWH or SWM or CPS or CP60S or CP60M)//当这这5个输入的值发生改变时,执行下面的程序

begin

case({SWM,SWH})

2'b01: begin CPM<=CPS;CPH<=CP60M;end//当SWM为0SWH为1时,将CPS赋给CPM,使分计时模块走快,小时模块正常计数

2'b10: begin CPM<=CP60S;CPH<=CPS;end//当SWH为0SWM为1时,将CPS赋给CPH,使小时模块走快,分计时模块正常计数

default: begin CPM<=CP60S;CPH<=CP60M;end//其他情况,分计时模块和时钟计时模块正常计数

endcase

end

endmodule

仿真波形:

由仿真图可知,当SWM为0时,用秒时钟CPS对分钟进行校对;当SWH为0时用秒时钟CPS对小时进行校对。当SWM,SWH都不为0时,分钟,小时正常计数。验证了本模块的逻辑功能正确。

5,整点报时模块:

module baoshi(m6,m4,m3,m0,s6,s4,s3,s0,di,gao,bshi);

input m6,m4,m3,m0,s6,s4,s3,s0,di,gao;//定义输入

output bshi;//定义输出

wire bm;//bm为连线型变量

reg bshi;//bshi的数据类型为寄存器型

assign bm=m6&m4&m3&m0&s6&s4&s0;//当分钟为59,秒钟为51,53,55,57,59时bm为高电平

always @(bm or s3 or di or gao )

begin

if(bm&s3)//59分59秒,高频率报时

bshi<=gao;

else if(bm)//59分51,53,55,57秒时,低频率报时

bshi<=di;

else

bshi<=0;

end

endmodule

波形仿真:

由仿真图形看出,当59分51秒53秒55秒57秒时,以低音报时;当59分59秒时,以高音报时,验证本模块的逻辑正确。

6,分频模块:

module fenping (clk,di);

input clk;//定义输入

output di;//定义输出

reg di;

always @(posedge clk)

di<=~di;//对clk进行2分频

endmodule

波形仿真图:

由仿真波形图看出,di的频率为clk的一半。验证了本模块的逻辑功能正确。7,时段控制,路灯亮灭模块:

module shiduan (h,sk);

input[7:0] h;//定义小时作为输入

output sk; //定义输出

reg sk; //sk的数据类型为寄存器型

always @(h)//当h的值发生改变时,执行下面的程序

begin

if((h>=8'h19)||(h<=8'h5))

sk<=1; //h大于或等于5或h小于或等于时,给sk赋值

else

sk<=0;

end

endmodule

仿真波形:

由仿真波形图看出从6点到18点,路灯不灭,从19点到凌晨5点(包含5点),路灯点亮,验证了本模块逻辑功能的正确性。

四建立一个图形输入方式的顶层文件,在其中把每个功能模块连接起来。

fpga数字钟课程设计报告

f p g a数字钟课程设计报告 Prepared on 24 November 2020

课程设计报告 设计题目:基于FPGA的数字钟设计 班级:电子信息工程1301 姓名:王一丁 指导教师:李世平 设计时间:2016年1月 摘要 EDA(Electronic Design Automation)电子设计自动化,是以大规模可编程器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,通过相关的软件,自动完成软件方式设计得电子系统到硬件系统,最终形成集成电子系统或专用集成芯片。本次课程设计利用Quartus II 为设计软件,VHDL为硬件描述语言,结合所学知识设计一个多功能时钟,具有显示年、月、日、时、分、秒显示,计时,整点报时,设定时间等功能。利用硬件描述语言VHDL 对设计系统的各个子模块进行逻辑描述,采用模块化的思想完成顶层模块的设计,通过软件编译、逻辑化简、逻辑综合优化、逻辑仿真、最终完成本次课程设计的任务。 关键词:EDA VHDL语言数字钟 目录 摘要 1 课程设计目的 2 课程设计内容及要求

设计任务 设计要求 3 VHDL程序设计 方案论证 系统结构框图 设计思路与方法 状态控制模块 时分秒模块 年月日模块 显示模块 扬声器与闹钟模块 RTL整体电路 4 系统仿真与分析 5 课程设计总结,包括.收获、体会和建议 6 参考文献 1 课程设计目的 (1)通过设计数字钟熟练掌握EDA软件(QUARTUS II)的使用方法,熟练进行设计、编译,为以后实际工程问题打下设计基础。 (2)熟悉VHDL 硬件描述语言,提升分析、寻找和排除电子设计中常见故障的能力。 (3)通过课程设计,锻炼书写有理论根据的、实事求是的、文理通顺的课程设计报告。

新闻发布系统的设计与实现

1.引言 近年来,Internet 的高速发展带动了整个世界新闻传播的速度,我们每一刻都可以从网络上知晓世界上发生的事情。电脑的普及,移动视频,智能手机等传媒终端的迅速的发展。使传统的信息传播媒体如电视、广播、报纸等逐渐被人们抛弃,满足不了人们对外界瞬息万变的信息的好奇心,因而人们越来越习惯依赖网络新闻媒体。新闻的传播方式发生了巨大的变化,人们更多的开始关注网络新闻媒体。这种媒体不但具备新闻传播的特点:及时、准确。还具有信息量大、方便管理、方便阅读等特点。有了新闻发布系统后,可以随意查询新闻,快速找到自己喜欢的新闻,并可以发表自己的评论,也方便了管理员使其能够更加清晰的管理新闻,很好地提高了管理者的效率。 当今,网络已成为了人们日常生活信息来源的主要途径,人们都习惯于通过上网来获取信息,在这种发展形势下,网络新闻逐渐深入我们的生活,成为获得信息的一个重要手段。由于 Internet 的信息容量大,传播范围广,信息传播及时并且内容准确,大大满足了人们的需要。把所有的信息都上传到网络,供大家相互浏览、评论,使网络的信息量越来越大,所以我们迫切的需要开发一个基于网络的新闻信息浏览系统。 2.新闻发布系统的需求分析 2.1性能需求 该系统在性能功能上应达到如下需求: 1)操作简单、界面友好: 完全控件式的页面布局,使得新闻的录入工作更简便,许多选项包括新闻分类、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。对常见网站的新闻管理的各个方面:新闻录入、浏览、删除、修改、搜索等方面都大体实现,实现了网站对即时新闻的管理要求; 2)即时可见:对新闻的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能; 3)系统运行应该快速、稳定、高效和可靠; 4)在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。

FPGA设计的报告课程设计

FPGA课程设计 实 验 报 告

实验一:设计一个可控的100进制可逆计数器 一、实验要求 用DE2-115开发板下载。 (1)计数器的时钟输入信号周期为200ns。 (2)以十进制形式显示。 (3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用 clr plus minus 功能 0 ××复位为0 1 1 0 递增计数 1 0 1 递减计数 1 1 1 暂停计数 二、关键词 可控制、可逆、100进制、复位、暂停、递增、递减 三、内容摘要 module updown_count(qout,reset,clk,plus,minus); output[7:0] qout;/*定义一个8位的输出,其目的是 低四位和高四位分别表示计数器的个位和十位。*/ input clk,plus,minus,reset;//定义四个输入,时钟,加计数,减计数和清零 reg[7:0] qout;//qout的数据类型为寄存器型 always @(posedge clk)//当clk上升沿到来时执行一遍下列程序 begin if(!reset) qout<=0;//当reset为低电平时,计数器执行清零功能,否则跳过else begin case({minus,plus})//case语句模块,包含加,减和暂停四个模块 2'b10: if (qout[3:0]==0)//判断个位是否为零,若不为零,跳到个位减一begin qout[3:0]<=9;//给个位赋值 if(qout[7:4]==0) qout[7:4]<=9;//判断十位是否为零,并且给十位赋值 else qout[7:4]<=qout[7:4]-1;//由于个位赋9,相当于向十位借一,因而十位减一end else qout[3:0]<=qout[3:0]-1;//个位减一 /*这一部分是减计数模块,其思路是:首先判断个位是否为零,若为零,则执行后面的程序,个位直接赋9,并且十位减一;否则个位减一*/ 2'b01: if (qout[3:0]==9)//判断个位是否为9,否则跳到个位加一begin

FPGA课程设计题目

1、彩灯控制器设计 内容及要求: 设计一个彩灯控制器,具体设计要求如下: (1)要有多种花型变化(至少设计5种),led至少16路 (2)多种花型可以自动变化 (3)彩灯变换的快慢节拍可以选择 (4)具有清零开关 (5)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 2、数字秒表设计 内容及要求: 设计一用于体育比赛的数字秒表,具体设计要求如下: (1)6位数码管显示,其中两位显示min,四位显示see,显示分辨率为0.01 s。 (2)秒表的最大计时值为59min59.99see。 (3)设置秒表的复位/启动键,按一下该键启动计时,再按即清0。依此循环。 (4)设置秒表的暂行/继续键。启动后按一下暂行,再按继续。依此循环。 (5)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 3、交通信号控制系统设计 内容及要求: 设计一个十字路口交通控制系统,具体设计要求如下: (1)东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,其持续时间分别是40秒、5秒和45秒, 交通灯运行的切换示意图和时序图分别如图1、图2所示。 (2)系统设有时钟,以倒计时方式显示每一路允许通行的时间。 (3)当东西或南北两路中任一路出现特殊情况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,时钟停止计时,东西、南北两路所有车辆停止通行;当特殊运行状态结束后,系统恢复工作,继续正常运行。 图1 交通灯运行切换示意图

B红 CP A绿 A黄 A红 B黄 B绿 5S 5S 图2 交通灯时序图 (4)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 4、简易密码锁设计 内容及要求 设计一个4位串行数字锁。 (1)开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮一个指示灯。否则进入“错误”状态,并发出报警信号。 (2)锁内的密码可调,且预置方便,保密性好。 (3)串行数字锁的报警由点亮一个灯,直到按下复位开关,报警才停下。此时,数字锁又自动等待下一个开锁状态。 (4)完成全部流程:设计规范文档、模块设计、代码输入、仿真、下载验证等,最后就课程设计本身提交一篇课程设计报告。 5、出租车计价器设计 内容及要求 (1)设一个出租车自动计费器,计费包括起步价、行驶计费和等待计费三个部分,用4个数码管显示出金额数目,最大值为999.9元,最小计价单位为0.1元。行驶里程在3公里范围内且等待时间未超过三分钟时按起步价8元计费;行驶里程超过三公里后按每公里2元收费;等待时间超过三分钟后按每分钟1元收费。等待时间用两个数码管显示,最大值为59分钟。 总费用=起步价+(里程-3km )*里程单价+(等待时间-3)*等候单价 (2)能够实现的功能: 显示汽车行驶里程:用四位数字显示,单位为km 。 计程范围为0~99km ,计程分辨率为1km 。 显示等候时间:用两位数字显示分钟,单位为min 。计时范围为0~59min ,计时分辨率为1min 。

FPGA课程设计报告

F P G A 课 程 设 计 报 告 学部:信息科学与技术学部 专业:通信工程 班级:10级1班 学号:100103011125 姓名:万洁 指导老师:祝宏 合作伙伴:张紫君 2012.12.13

一.《任务书》: 实验一100进制的可逆计数器(11——12周)实验二交通灯控制系统(15周) 实验三多功能数字钟系统(14-15周)二.实验书写格式: 一:题目要求 二:程序代码 三:操作步骤及运行结果截图 四:心得体会 三.实验附录: 一:老师提供的资源 二:关于实验所用EP4CE115F29板的简介

实验一100进制的可逆计数器 一、设计一个可控的100进制可逆计数器,要求用实验箱下载。 (1)计数器的时钟输入信号周期为200ns。 (2)以十进制形式显示。 (3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。 clr plus minus 功能 0 ××复位为0 1 1 0 递增计数 1 0 1 递减计数 1 1 1 暂停计数 二、程序如下: module keni100(CLR,CLK,PLUS,MINUS,OUT); //100进制的可逆计数器 input CLR,PLUS,MINUS,CLK; output [7:0]OUT; reg [7:0]OUT; always@(posedge CLK) begin if(!CLR) //如果CLR为零,输出为零;反之,运行else程序 OUT[7:0]<=0; else

begin if(PLUS==0 && MINUS==1) //100进制的递减计数 begin if (OUT[3:0]==0) begin OUT[3:0]<=9; if (OUT[7:4]==0) OUT[7:4]<=9; else OUT[7:4]<=OUT[7:4]-1; end else OUT[3:0]<=OUT[3:0]-1; end if(PLUS==1 && MINUS==0) //100进制的递增计数 begin if (OUT[3:0]==9) begin OUT[3:0]<=0; if (OUT[7:4]==9) OUT[7:4]<=0; else OUT[7:4]<=OUT[7:4]+1; end else OUT[3:0]<=OUT[3:0]+1; end if(PLUS==1 && MINUS==1) OUT<=OUT; //若PLUS和MINUS都为1,暂停计数 if(PLUS==0 && MINUS==0) OUT<=0; //若都为零,输出为零end end endmodule 三、运行程序 1、在quarters II9.1输入程序 打开quarters II界面,点击file→New,在出现的对话框,如图1.1所示,选择Text File,点击OK.

手机天线测试

浅谈实践中的手机天线测试 随着移动通信的飞速发展和应用,中国的手机行业也不断发展壮大,当然中国的手机用户也在迅猛增长。而手机的射频器件中,手机天线是无源器件,手机天线作为手机上面唯一的一个“量身定做”的器件,它的特殊性和重要性必然要求其研发过程对天线性能的测试要求非常严格,这样才能确保手机的正常用。 现在就简单的介绍一下手机天线的研发过程中的几种常见的手机天线测试方法: 1、微波暗室(Anechonic chamber) 波暗室又叫无反射室、吸波暗室简称暗室。微波暗室由电磁屏蔽室、滤波与隔离、接地装置、通风波导、室内配电系统、监控系统、吸波材料等部分组成。它是以吸波材料作为衬面的屏蔽房间,它可以吸收射到六个壁上的大部分电磁能量较好的模拟空间自由条件。暗室是天线设计公司都需要建造的测试设备,因为对于手机天线的测试比较精确而且比较系统,其测试指标可以用来衡量一个手机天线的性能的好与坏。主要是天线公司使用,但其造价昂贵。 2、TEM CELL测试 用TEM CELL测试天线有源指标,因为微波暗室和天线测试系统造价比较昂贵,一般要百万以上,一般的手机设计和研发公司没有这种设备,而用TEM CELL(也较三角锥)来代替测试。和微波暗室的测试目的一样,TEM CELL也是一个模拟理想空间的天线测试环境,金属箱能够提供足够的屏蔽功能来消除外部干扰对天线的影响,而内部的吸波材料也能吸收入射波,减小反射波。TEM CELL不能对天线进行无源测试,只能对有源指标进行测试。由于空间限制,TEM CELL的吸波材料比较薄,而对于劈状吸波材料,是通过劈尖间的多次反射增加对入射波进行吸收,因此微波暗室里的吸波材料都比较厚,而TEM CELL的吸波材料都不购厚,因此对入射波的吸收都不是很充分,因此会导致测试的结果不精确。 另外,TEM CELL的高度也不够,这也是TEM CELL不能进行定量测试的一个原因。根据天线辐射的远场测试分析,对于EGSM/DCS频段的手机天线,被测手机与天线的距离至少大于1米;因此,我们可以看几乎所有的2D暗室都是远大于这个距离。而TEM CELL比这个距离小一些,所以这也是TEM CELL相对于微波暗室来讲测量不准的一个原因。 所以,TEM CELL只能对天线做定性的分析而不能做定量的分析。在实验室可以定性分析几种样机的差异,比较其性能的优劣,但不能作为准确的标准值来衡量天线的性能,只能通过与其他的“金鸡”(Golden sample ) 对比,大致来判断手机天线的性能。TEM CELL一般只找最佳方值,使测试结果对手机摆放的位置比较敏感。

“新闻发布系统”网站制作过程

综合实例:“新闻发布系统”网站 通过一个后台功能较为完备的“新闻发布系统”网站的制作,首页效果如图1所示。 图1 内容 利用https://www.sodocs.net/doc/7e10429372.html,技术开发一个具有后台管理功能的“新闻发布系统”网站,该网站应具备如下功能。 (1)管理员输入用户名和密码,登录成功后可以进入网站后台对新闻进行管理。 (2)管理员能发布新闻,发布的新闻包括标题、内容、提交时间、新闻图片、附件。 (3)管理员能够根据新闻的标题或者新闻的发布时间查找新闻,并能对查找到的新闻进行修改或者删除等操作。 (4)管理员可以修改密码。 (5)用户访问网站首页,可以浏览网站上的所有新闻。 (6)网站要求有较为统一的风格。 网站结构如下图所示。 图2 网站操作流程如下: (1)用户访问网站首页,出现如图1所示的页面。 (2)单击【更多】链接,出现如图3所示的更多新闻页面。 (3)单击第一条新闻的链接,出现如图4所示的新闻明细页面。

图3 图4 (4)管理员访问如图5所示的登录页面,输入正确的用户名和密码,进入后台管理界面,默认显示的是新闻发布页面,如图6所示。 (5)选择【新闻查询】选项,出现如图7所示的新闻查询页面。 (6)单击【修改】链接,跳转到如图8所示的新闻修改页面。 (7)选择【修改密码】选项,出现如图9所示的修改密码页面。 图5

图6 图7 图8

图9 设计“新闻发布系统”程序前的思考 设计“新闻发布系统”前需要思考如下问题。 (1) 如何合理地设计网站目录结构,使得信息能够被有效地分类,同时访问控制又比较方便。由于需要保存新闻的图片和附件,因此需要在网站根目录下分别创建文件夹来保存这两类文件。另外由于本系统存在“管理员”和“用户”两种角色,因此需要把只有管理员才能访问的页面放到同一文件夹中,统一进行权限设置。 (2) 如何合理地设计数据库字段,使得信息维护和检索都较为方便。由于新闻发布系统涉及到的信息项比较少,因此只需要建一张表来保存新闻标题、新闻内容、附件、图片,另外为了保证每条记录的唯一性,需要在表中建自动编号字段。 (3) 采用怎样的导航方式,使得操作界面清晰,便于用户操作。由于本系统涉及页面较少、目录结构比较简单,因此采用导航控件中的Menu 控件、SiteMapPath 控件、TreeView 控件都可以轻松地实现导航功能,其中M enu 控件使用较为方便。 (4) 采用怎样的设计方法,使得页面风格统一。要使页面风格统一,ASP .NET 提供了多种方法如用户控件、母版页、主题、皮肤。在本案例中,为了统一后台界面的风格,采用母版页技术,为了让控件有统一的风格采用主题技术。 (5) 采用怎样的开发方法,开发效率高,程序又不失灵活性。逻辑较为简单的显示部分采用数据访问控件S qlDataSource 结合具有内置分页功能的G ridView 控件,新闻发布和修改等逻辑较为复杂的部分采用代码实现。 有关“新闻发布系统”程序开发的预备知识 (1) 掌握T extBox、L abel、D ropDownList、I mage、F ileUpload、H yperLink 等常用A SP .NET 标准控件的属性、方法和用法。 (2) 掌握验证控件的知识,特别是RequiredFieldValidator 控件的用法。 (3) 了解导航控件,掌握M enu 控件的用法。 (4) 熟悉S QL Server,能够在S QL Server 中创建数据库和表。 (5) 掌握数据访问控件SqlDataSource 以及数据显示控件G ridView、F ormView 的用法。

(完整版)基于FPGA的温度传感器课程设计

FPGA课程设计论文 学生姓名周悦 学号20091321018 院系电子与信息工程学院 专业电子科学与技术 指导教师李敏 二O一二年5月28 日

基于FPGA的温度传感器系统设计 1引言 温度是一种最基本的环境参数,人们的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器;模拟集成温度传感器;智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。本文将介绍采用智能集成温度传感器DS18B20,并以FPGA为控制器的温度测量装置的硬件组成和软件设计,用液晶来实现温度显示。 2电路分析 系统框图如下: 第一部分:DS18B20温度传感器 美国 Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 "一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的 DS18B20 体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。 DS18B20 的主要特性:(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电(2)独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯(3)DS18B20 支持多点组网功能,多个DS18B20 可以并联在唯一的三线上,实现组网多点测(4)DS18B20 在使用中不需要任何外

基于PHP的新闻发布系统实验案例-lee

新闻发布系统开发实例 一、概述 随着互联网的逐步普及,通过网络浏览新闻获取最新资讯已经成为人们日常生活中的一部分,这让人们足不出户就能了解天下的最新动态。新闻发布系统就是人们实现浏览新闻的一个平台。通过这个系统普通的用户可以实现新闻的阅览,同时管理员可以在后台对新闻资讯进行有效管理。 本文通过PHP与MySQL的技术实现一个简单的新闻发布系统,实现新闻的发布以及新闻的基本的管理功能。 二、系统分析与设计 本系统是一个新闻的管理系统所以最基本的功能就是实现新闻的添加、修改、删除等各项基本功能;新闻动态有很多分类本系统应能实现对类似于国际新闻、体育新闻、娱乐新闻等各类新闻动态的分类;同时本系统还应有一个用户管理用于管理用户。 按照分析本本新闻发布系统应实现的功能如下: (1)新闻管理:新闻的添加、修改、查询、浏览、删除。 (2)新闻类别管理:添加、删除 (3)用户管理:用户的添加;信息的查看、修改、删除。 三、数据库的设计与实现 1、设计数据库 按照系统的分析本系统本系统建立一个数据库,我们可以将其命名为news。这个数据库将包含两张表,一个是用于储存新闻类别与内容的表——news;一个是用户存储用户信息的表——usr。 如下表一所示,news表中包含的属性如下: (1)id :news的编号。 (2)type:新闻的类别。 (3)title:新闻的标题。 (4)date:发布新闻的时间。 (5)author:发布新闻的作者。 (6)click:新闻的点击次数。 (7)content:新闻的内容。

表一news表(新闻) 创建news表 CREATE TABLE IF NOT EXISTS `news` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(20) CHARACTER SET utf8 NOT NULL, `type` varchar(20) CHARACTER SET utf8 NOT NULL, `date` date NOT NULL, `content` text CHARACTER SET utf8 NOT NULL, `author` varchar(10) CHARACTER SET utf8 NOT NULL, `click` int(20) NOT NULL, PRIMARY KEY (`id`) ) 同理对于user表如下图1.2所示: (1)id:用户编号。 (2)type:用户类别。 (3)username:用户名称。 (4)password:用户密码。

第六讲 手机天线类型比较和结构射频规则

第六讲手机天线类型比较和结构射频规则 一、各种手机内置天线的特点和演变过程 在常见的手机天线结构中,陶瓷介质天线由于Q值很高,带宽窄,损耗大,并且易受环境的影响而产生频率漂移,因此不推荐作为手机主天线使用,但由于其尺寸小的优势,可以用作对接收灵敏度要求不高的蓝牙天线。PCB板天线也一般仅仅是通过将外置单极子天线通过PCB过孔和PCB走线将辐射体做在PCB板上,并利用介质板的介电常数在一定程度上减小天线尺寸的形式,这种天线也由于介质板的损耗常数而产生一定的损耗,所以在大多数高端机情况下也不推荐使用,仅在少数低端机和工作频点较少的情况下才为节约成本而使用。PCB天线可作外置天线也可作内置天线。 PIFA天线自产生以来,一直到今天都一直是内置天线的主要形式,因为它尺寸较小,可以充分利用PCB板作为接地面,并通过接地片将谐振长度缩小为四分之一波长。但是随着手机小型化和集成度更高的发展要求,原有PIFA天线逐渐显示出一些对结构方面的严格限制。于是有不少业界领先的手机制造商Motorola、Samsung、Sony-Ericsson等公司逐渐改变手机天线的设计风格,改用各种变形的单极子天线设计,这样就减小了结构对天线的依赖性,增加了手机外观的灵活性。比如索爱E908的菱形天线设计,Samsung E708的城墙线(Meander)天线设计,以及Motorola V3中使用的一个金属铜棒作为天线的设计。这些新型的天线设计显示了高超的设计技巧,它们往往不易被天线其他天线厂家和手机厂家模仿,并逐渐发展成手机天线厂家之间和手机厂商之间竞争的一项核心技术。 二、PIFA天线和单极子天线的性能比较 前面我们已经分别对单极子天线和PIFA天线的一般特性进行过分析,下面我们在几种重要的特性方面比较一下两种天线性能的优劣。 1.空间结构要求 两种天线的设计对空间的预留都必须考虑Chu极限定理,但在组成上,PIFA要求必须有一个辐射单元和一个大的接地面,两者互相平行,并且辐射体和接地面之间必须有一个不小的间距。接地面和辐射体都是物理实体,它们必须位于手机上,所以对结构限制较大。采用PIFA天线手机不可能做得很薄。 而采用单极子天线进行设计,则天线仅有一个辐射体而没有地面,因此它对辐射空间的要求就仅仅是天线辐射体周围的空间而没有地面的限制,天线占用的辐射空间可以不在手机体上而在手机周围的外界空间。因此对结构的限制较小。

FPGA课程设计报告--简易电子琴的设计[1].doc

西安邮电大学 FPGA课程设计报告 题目:简易电子琴设计及FPGA功能验证 院系: 专业班级: 学生姓名: XX 导师姓名: XX 起止时间: 2012、6、18至2012、6、29

一、课程设计任务: 本设计一个简易电子琴,具体功能如下: 1、具有手动弹奏和自动播放功能; 2、以按键或开关作为电子琴的琴键,输出7个音节的音阶; 3、可以自动播放曲目至少两首。 二、课程设计目的: 1、培养综合运用知识和独立开展实践创新的能力; 2、深入学习Verilog HDL,了解其编程环境; 3、学会运用Modelsim和Quartus II等编程仿真软件; 4、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习; 三、使用环境: 1、软件:Modelsim和Quartus II等编程仿真软件; 2、硬件:FPGA开发板。 四、课程设计详细方案及功能验证: 1、总体实现方案: 1、简易电子琴的设计通过软硬件结合实现,硬件系统包括主控器芯片、9个按键、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。电子琴有按键代替琴键的弹奏功能和自动播放功能。 2、整个程序总共分5个模块:主模块,按键模块,曲目1模块,曲目2模块,曲目3模块。 整个方案总共用了9个按键(key1~key9),按键key1~key7作为琴键,通过这七个按键键入不同的音阶。主模块中key8、key9两个按键用于选择是自动播放还是弹奏曲目,令mm=(key8、key9),用mm值的不同选择调用不同模块。如果mm=00,则程序调用按键模块;如果mm=01,则调用曲目1模块,播放曲目1;如果mm=10,则调用曲目2模块,播放曲目2;如果mm11,则调用曲目3模块,播放曲目3。 本次设计的框图:

(完整版)FPGA课程设计(最终版)

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 电子琴的设计 课程设计目的: 《FPGA原理与应用》课程设计的目的是为了让学生熟悉基于VHDL语言进行FPGA开发的全流程,并且利用FPGA设计进行专业课程理论知识的再现,让学生体会EDA技术的强大功能,为今后使用FPGA进行电子设计奠定基础。 课程设计内容和要求 设计内容: (1)设计一个八音电子琴。 (2)由键盘输入控制音响,同时可自动演奏乐曲。 (3)用户可以将自己编制的乐曲存入电子琴,演奏时可选择键盘输入乐曲或者已存入的乐曲。 要求每个学生单独完成课程设计内容,并写出课程设计说明书、说明书应该包括所涉及到的理论部分和充足的实验结果,给出程序清单,最后通过课程设计答辩。 时间安排: 指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录 摘要 (1) Abstract (2) 1设计意义和要求 (3) 1.1设计意义 (3) 1.2功能要求 (3) 2方案论证及原理分析 (4) 2.1实现方案比较 (4) 2.2乐曲实现原理 (4) 2.3系统组成及工作原理 (6) 3系统模块设计 (8) 3.1顶层模块的设计 (8) 3.2乐曲自动演奏模块的设计 (8) 3.3音阶发生器模块的设计 (9) 3.4数控分频器模块的设计 (9) 4程序设计 (11) 4.1VHDL设计语言和ISE环境简介 (11) 4.2顶层模块的程序设计 (12) 4.3乐曲自动演奏模块的程序设计 (13) 4.4音阶发生器模块的程序设计 (13) 4.5数控分频模块的程序设计 (14) 5设计的仿真与实现 (15) 5.1乐曲自动演奏模块仿真 (15) 5.2音调发生模块仿真 (18) 5.3数控分频模块仿真 (19) 5.4电子琴系统的仿真 (20) 5.5设计的实现 (22) 5.6查看RTL视图 (23) 5.7查看综合报告 (25) 6心得体会 (31) 7参考文献 (32) 8附录 (33)

FPGA课程设计报告--简易电子琴的设计

邮电大学 FPGA课程设计报告 题目:简易电子琴设计及FPGA功能验证 院系: 专业班级: 学生:XX 导师:XX 起止时间:2012、6、18至2012、6、29

一、课程设计任务: 本设计一个简易电子琴,具体功能如下: 1、具有手动弹奏和自动播放功能; 2、以按键或开关作为电子琴的琴键,输出7个音节的音阶; 3、可以自动播放曲目至少两首。 二、课程设计目的: 1、培养综合运用知识和独立开展实践创新的能力; 2、深入学习Verilog HDL,了解其编程环境; 3、学会运用Modelsim和Quartus II等编程仿真软件; 4、将硬件语言编程与硬件实物功能演示相结合,加深理解Verilog HDL的学习; 三、使用环境: 1、软件:Modelsim和Quartus II等编程仿真软件; 2、硬件:FPGA开发板。 四、课程设计详细方案及功能验证: 1、总体实现方案: 1、简易电子琴的设计通过软硬件结合实现,硬件系统包括主控器芯片、9个按键、LED、蜂鸣器等,软件资源包括编写Verilog HDL程序的应用软件Modelsim和仿真软件Quartus II。电子琴有按键代替琴键的弹奏功能和自动播放功能。 2、整个程序总共分5个模块:主模块,按键模块,曲目1模块,曲目2模块,

曲目3模块。 整个方案总共用了9个按键(key1~key9),按键key1~key7作为琴键,通过这七个按键键入不同的音阶。主模块中key8、key9两个按键用于选择是自动播放还是弹奏曲目,令mm=(key8、key9),用mm值的不同选择调用不同模块。如果mm=00,则程序调用按键模块;如果mm=01,则调用曲目1模块,播放曲目1;如果mm=10,则调用曲目2模块,播放曲目2;如果mm11,则调用曲目3模块,播放曲目3。 本次设计的框图:

新闻发布系统可行性研究报告

新闻发布系统 可 行 性 研 究 报 告

信息技术学院 07级软件工程 王双燕(071164004)李智娟(071164007)闫亚培(071164009)王金焕(071164014)韩九明(071164017)马进杰(071164019)

目录

可行性研究报告 1引言 1.1编写目的 现在的世界蕴涵着相当大的信息量,每天的信息搜集,发布和更新都需要投入很大的人力物力。在网络发展的新时代,越来越多的信息在网上发布,新闻最为信息的一个重要主题也不例外。这么大的信息量,如果单纯用静态网页一个一个地制作,不仅耗费人力物力,而且新闻本身的时效性也难以发挥出来。所以动态新闻发布及管理系统的产生顺应当前形势的发展,不仅节省人力物力,而且更加体现了新闻本身的时效性。 网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。 1.2背景 本软件系统叫新闻发布系统,系统开发的总体任务是实现新闻的自动发布,新闻和用户信息的管理,栏目管理。新闻发布系统是针对我们平时在阅读新闻的不便之处而提出的。阅读新闻用户不是主动的,不能发布自己的作品。 用户可管理的主要功能为新闻浏览,查看新闻,查询新闻以及对其新闻的评价。管理者可管理的主要功能有管理员登录,维护系统信息,维护一级栏目信息,维护二级栏目信息以及其下的新闻信息。

1.3 参考资料 用到的参考资料: a.校园新闻发布系统需求说明书 b.JSP网站开发详解电子工业出版社 c.新闻发布系统的设计与实现发表于2008年9月15号 d.UML系统建模与分析设计机械工业出版社 2可行性研究的前提 2.1要求 说明对所建议开发的软件的基本要求,如: A.功能; a.使用UML活动图来表示前台要实现的主要功能。

FPGA课程设计

FPGA课程设计 学院: 年级专业: 学生姓名: 日期:

题目:用Verilog语言设计一个程序来控制数码管动态显示0~F 小组成员: 指导老师: 开发板:A-C8V4 芯片型号:CycloneII EP2C8Q208C8N 设计目的: 本课程设计的目的是熟练掌握相关软件的使用和操作。能对Verilog语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。在成功掌握软件操作基础上,将所数字电路的基础课知识与Verilog语言的应用型知识结合起来并与实际设计,操作联系起来,即“理论联系实际”。深入了解Verilog语言的作用与价值,对用硬件语言设计一个电路系统开始具备一个较完整的思路与较专业的经验。对EDA技术有初步的认识,并开始对EDA技术的开发创新有初步的理解。 设计内容:利用verilog语言设计一个程序,其功能是使LED数码管循环动态显示0~F 程序设计: module led0 (clk_50M,led_bit,dataout); input clk_50M; output [7:0] dataout; output led_bit; reg [7:0] dataout; reg led_bit; reg [27:0] count; always led_bit <= 'b0; always @ ( posedge clk_50M ) begin count<=count+1; end always @ ( posedge clk_50M ) begin case ( count[27:24] ) 0: dataout<=8'b11000000; 1: dataout<=8'b11111001; 2: dataout<=8'b10100100; 3: dataout<=8'b10110000; 4: dataout<=8'b10011001; 5: dataout<=8'b10010010; 6: dataout<=8'b10000010; 7: dataout<=8'b11111000; 8: dataout<=8'b10000000; 9: dataout<=8'b10010000; 10:dataout<=8'b10001000; 11:dataout<=8'b10000011; 12:dataout<=8'b11000110; 13:dataout<=8'b10100001; 1

FPGA课程设计

河南机电高等专科学校 《可编辑逻程器件原理与应用课程设计》 题目:数字跑表 班级: 学号: 姓名: 2012年6月8日

数字跑表设计 一、设计题目 设计一个以0.01s为基准计时信号的实用数字式跑表 二、设计要求 1)跑表计时显示范围0.01s—59min59.99s,计时精度为10ms。 2)具有清零、启动计时、暂停计时功能,操作按键(开关)不超过2个。 3)时钟源误差不超过0.01s。 三、总体设计思路 数字秒表设计采用模块化思想,自顶向下设计。总体上含有分频模块、计时控制器模块、计数模块、LED显示模块四个基本模块。各模块功能如下:(1)分频模块 分频器通过对256Hz时钟分频产生100Hz时钟,它同COUNT10中的十进制计数器要求的时钟频率一致。 (2)计时控制器模块 计时控制器模块的作用是将按键信号转变为计时器的控制信号。本设计中设置了2个按键,即启动/暂停键和清零键,由它们产生的计数允许保持和清零信号。 (3)计时模块 计时器通过对10ms脉冲的计数,达到计时的目的。由于数字跑表的计时范围为0到59分59.99秒,所以计时模块COUNT共需四个十进制计数器和两个六进制计时器。 (4)LED显示模块 用于数字跑表的最后显示 四、设计步骤如下: (1)分频模块 由于试验箱没有100Hz的时钟源,所以应设计分频模块分频。将输出256Hz 的时钟频率经过分频得到100Hz的时钟源,作为百分之一秒位的时钟输入, 每产生一个时钟上升沿,计数器加1即为10ms。新建Text Editor,以VHDL语言设计分频模块,程序源码如下: library ieee; use ieee.std_logic_1164.all; entity DIV is Port (clr:in std_logic; clk:in std_logic; clkout:out std_logic); end DIV; architecture a of DIV is begin process (clk,clr)

fpga课程设计报告

第一部分 EDA技术的仿真 1、奇偶校验位产生器 1.1奇偶校验位的技术要求 奇偶校验是通信中常用的一种数据校验方式,试设计一个奇偶校验位产生器,根据输入字节(8位)产生相应的奇偶校验位(1的个数为奇数时输出低电平,即奇校验位为1)和偶校验位(1的个数为偶数时输出高电平,即偶校验位为1) 1.2奇偶校验位的原理 通过计算数据中“1”的个数是奇数还是偶数来判断数据的正确性。在被校验的数据后加一位校验位或校验字符用作校验码实现校验。 其生成方法是: 奇校验:确保整个被传输的数据中“1”的个数是奇数个,即载荷数据中“1”的个数是奇数个时校验位填“0”,否则填“1”; 偶校验:确保整个被传输的数据中“1”的个数是偶数个,即载荷数据中“1”的个数是奇数个时校验位填“1”,否则填“0”。 1.3奇偶校验位的功能及其仿真波形 奇偶校验位的功能具体见下表所示: 输入8位的二进制序列奇校验位 even 偶校验位 odd 1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 其具体实现程序如下所示: module parity(data,odd,even); input [0:7]data; output odd,even; assign odd=^data; assign even=~odd; endmodule 根据程序我们得到如下的仿真波形: 图1 奇偶校验位仿真波形 中国计量学院信息工程学院课程设计报告P.2

2、十六位数据选择器 2.1数据选择器的原理 在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,数据选择器(MUX)的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号。 在数据选择器中,我们设定一个控制输入端ENA ,当ENA=1时,电路不能工作,输出Y=0;而当ENA=0时,电路才处于工作状态。由于我们设计的是16选1数据选择器,因而其有4个数据控制端,即S0,S1,S2,S3,根据这4个控制端的状态有选择性的输出。 2.2数据选择器的实现电路图 我们知道一个16选1的数据选择器是由5个4选1的数据选择器组成的,4选1的基本电路如下图所示: W[0..3]S[1..0] ENA f mux_4 inst2 在左图中,ENA 为使能控制输入端,低 电平有效,S 为两位的数据控制端,W 为输入端,f 为输出端。有上述4选1的原理图我们可以得到16选1的原理图: W[0..3]S[1..0]ENA f mux_4 inst W[0..3]S[1..0]ENA f mux_4 inst1 W[0..3]S[1..0]ENA f mux_4 inst2 W[0..3]S[1..0]ENA f mux_4 inst3 W[0..3]S[1..0]ENA f mux_4 inst4S3\32控制端 S1\S0控制端 图2 16选1数据选择器原理图 2.3数据选择器的功能仿真

FPGA课程设计报告

F P G A课程设计报告 (实现多功能数字钟) 专业班级: 07通信2班 姓名:朱绍兴 学号:0701******** 时间:2009.12.30

一、标题:设计多功能数字钟控制电路 二、任务书:用MAX+PLU SⅡ软件及Verilog HDL语言设计 一个多功能的数字钟,包括有时、分、秒的计 时,以及校时(对小时、分钟和秒能手动调整 以校准时间)、正点报时(每逢整点,产生“嘀 嘀嘀嘀-嘟”,4短一长的报时音)等附加功能。 三、关键词:24进制、60进制、正点报时、校时、数字钟 四、总体方案:多功能数字钟控制电路框图是由三部分组成 的,即秒分时控制电路、整点报时控制电路、 时段控制电路。用Verilog HDL硬件描述语 言完成编译和仿真。 五、原理框图如下: ↓ ↓ ↓

六、Verilog HDL硬件描述语言编写的功能模块: /*秒计数器m60*/ module m60(M,CP60M,CPM,RD); output [7:0]M; output CP60M; input CPM; input RD; reg [7:0]M; wire CP60M; always@(negedge RD or posedge CPM) begin if(!RD) begin M[7:0]<=0; end else begin if((M[7:4]==5)&&(M[3:0]==9)) begin M[7:0]<=0; end else begin if(M[3:0]==9) begin M[3:0]<=0; if(M[7:4]==5) begin M[7:4]<=0;end else M[7:4]<=M[7:4]+1; end

JSP 新闻发布系统实例

摘要 现在是一个科学技术飞速发展、信息更替日新月异的世纪。计算机已深入到各个领域,并且形成了功能强大、覆盖全球的信息传输网络。各个领域都向系统化、规范化、自动化的方向发展,使得工作效率、工作成绩和生活水平都日益提高。新闻网站也是绝大多数人了解时事的渠道,新闻信息管理系统包括对新闻网站信息的查询、删除、更新等, 本文详细论述了运用JavaWeb技术《新闻发布系统》的开发、设计环境及其具体的实现。该系统采用模块化程序设计方法,便于系统功能的各种组合和修改。可以及时根据企业需求进行新闻信息的添加、删除、修改等操作。本系统采用oracle 数据库,进一步提高系统安全性。本系统符合新闻发布的规定,能够满足新闻网站日常更新,并达到操作过程中的直观、方便、实用、安全等要求。 关键字:JavaWeb;新闻发布;新闻查询;新闻浏览;新闻编辑;新闻更新。

目录 摘要 ................................................................ II 第一章系统概述 .. (1) 1.1 需求分析 (1) 1.2 目标设计 (1) 第二章系统设计 (2) 2.1 系统整体设计 (2) 2.2 管理员模块 (2) 2.3 数据库介绍 (3) 2.3.1 Oracle数据库 (3) 2.3.2 数据库的连接 (3) 2.4 数据库的逻辑设计 (3) 第三章系统实现 (5) 3.1 开发工具选择 (5) 3.2 开发平台 (5) 3.3 分页技术问题 (5) 3.3.31JDBC和分页 (5) 3.4 程序几个功能模块的主要代码 (7) 第四章系统运行 (15) 4.1运行环境 (22) 4.2运行效果 (22) 结束语 (28) 参考文献 (28)

相关主题