合工大 计算机组成原理.doc

合工大 计算机组成原理.doc

ID:61486364

大小:358.50 KB

页数:20页

时间:2021-02-05

合工大 计算机组成原理.doc_第1页
合工大 计算机组成原理.doc_第2页
合工大 计算机组成原理.doc_第3页
合工大 计算机组成原理.doc_第4页
合工大 计算机组成原理.doc_第5页
资源描述:

《合工大 计算机组成原理.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、合肥工业大学计算机与信息学院课程设计报告课程:计算机设计与综合实践专业班级:信息安全11-1学号:姓名:王佳淼2014年11月摘 要本文介绍了一种采用可编程逻辑器件(FPGA(Sparten6))进行出租车计价器的设计思想以及实现方法。本设计实现了出租车计费器所需的一些基本功能,计价金额包括起步价、里程计费、等待计时计费等。该设计采用模块化设计,在Xilinx软件平台下,采用VerilogHDL硬件描述语言描述和模拟仿真了分频模块、计程模块、计时模块、计费模块、LED显示模块,完成了出租车计费器仿真设计。关键词:FPGA(Spartan6-LX45),出租车计价器,Xi

2、linx,VerilogHDL目录一、方案总设计41.1设计要求41.2设计思想4二、软件功能单元设计和实现42.1分频模块42.1.1计数器分频模块(FrequencyDiv1)52.1.2数码管显示分频模块(FrequencyDiv2)52.2里程模块(Disatance_Cal模块)52.3时间模块(Time_Cal模块)52.4计费模块(Money_Cal模块)52.5数码管显示模块(LED_Display模块)62.6顶层模块(Taximeter模块)7三、问题总结9四、体会与感想9附录: 单元模块VerilogHDL源代码101.计数器的分频模块(Frequ

3、ency_Div)102.数码管的分频模块(Frequency_Div_2)103.里程模块(Distance_Cal)114.时间模块(Time_Cal)125.计费模块(Money_Cal)136.数码管显示模块(LEDDisplay_Cal)167.顶层模块(Taximeter)188.引脚约束(Taximeter)20一、方案总设计1.1设计要求设计一个出租车计价器。该计价器的计费系统:行程3公里内,且等待累计时间2分钟内,起步费为10元;3公里外以每公里1.6元计费,等待累计时间2分钟外以每分钟以1.5元计费,并能显示行驶公里数、等待累计时间、总费用。设计有分

4、频模块,控制模块,计量模块,译码模块,显示模块。1.2设计思想出租车的一般计费分类:近路途未停车状况:车价=起步价【10元】(3>里程数且10>等待时间)近路途有停车状况:车价=起步价【10元】+(等待时间-等待累积时间【2分钟】)*1.5(3>里程数且10>等待时间)远路途未停车状况:车价=起步价【10元】+(里程数 - 起步里程数【3公里】)*每公里单价【1.6元】 (3<里程数且10>等待时间)   远路途有停车状况:车价=起步价【14元】+(远程里程标准【10公里】 - 起步里程数【3公里】)*每公里单价【1.6】 + (等待时间-等待累积时间【2分钟】)*1.

5、5 (里程数>10且10<等待时间)综上所述,完成出租车计费需要,在乘客上车后,需要启动出租车计价器,所以这样就需要一个控制出租车计价器开始工作的使能信号,使得有乘客上车后就要将计价表上显示出起步价10元;而在计价的过程中又需要分两种情况:一种是按增加的里程来收费,另一种是按照停车的时间来收费,因为在出租车行驶的过程中,有可能会遇到堵车或红绿灯的情况,这样会耽误出租车的时间,所以当超过一定标准时间后,就应当计时收费。二、软件功能单元设计和实现本系统采用层次化、模块化的设计方法,设计顺序为自下向上。首先实现系统框图中的各子模块,然后由顶层模块调用各子模块来完成整个系统。为

6、了便于在数码管里显示和演示,这里的路程、时间和费用计数器均用BCD码表示。我主要做的是里程模块,所以2.2里程模块即Disatance_Cal模块详细说明,其余模块只进行大体描述。2.1分频模块这里主要是将实验板上提供的时钟信号进行分频,来得到我们想要的时钟脉冲。因为我们所使用的实验板是Spartan6-LX45,它可以提供100MHz的时钟信号,而这个信号对于我们来说实在是太快了,所以我们需要对其进行分频。在本次的设计中,我们需要在两个地方用到不同的分频时钟,一个是在LED显示模块,而另外的几个模块用另一个时钟信号。2.1.1计数器分频模块(FrequencyDiv1

7、)此模块的功能是对总的时钟进行分频,分出的频率是让计数器用的,因为我们使用总的时钟频率是100MHz的,所以我们在设计该模块的时候用了一个32位的计数器,当计数器计到25_的时候产生一个时钟信号,提供给里程模块,时间模块,计费模块使用。其实我们是将100MHz分频后变成每一秒计数一次,这也是为了便于实验(在现实生活中不一定是这样)。2.1.2数码管显示分频模块(FrequencyDiv2)此模块产生的脉冲信号是提供给数码管的,因为要显示的数据有六位,所以数码管的扫描频率应该要比计数分频模块更快。我们经过测试后,得到这个数值。当计数到这个值

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。