毛毛球英子
首先,利用传统的软件技巧来优化算法,然后将其转向定制指令以加速算法。我们将讨论不同实现方法的性能比较和折衷。CRC算法可用来校验数据在传输过程中是否被破坏。这些算法很流行,因为它们具有很高的检错率,而且不会对数据吞吐量造成太大影响,因为CRC校验位被添加进数据信息中。但是,CRC算法比一些简单的校验和算法有更大的计算量要求。尽管如此,检错率的提高使得这种算法值得去实施。一般说来,发送端对要被发送的消息执行CRC算法,并将CRC结果添加进该消息中。消息的接收端对包括CRC结果在内的消息执行同样的CRC操作。如果接收端的结果与发送端的不同,这说明数据被破坏了。CRC算法是一种密集的数学运算,涉及到二元模数除法(modulo-2 division),即数据消息被16或32位多项式(取决于所用CRC标准)除所得的余数。这种操作一般通过异或和移位的迭代过程来实现,当采用16位多项式时,这相当于每数据字节要执行数百条指令。如果发送数百个字节,计算量就会高达数万条指令。因此,任何优化都会大幅提高吞吐量。代码列表1中的CRC函数有两个自变量(消息指针和消息中的字节数),它可返回所计算的CRC值(余数)。尽管该函数的自变量是一些字节,但计算要逐位来执行。该算法并不高效,因为所有操作(与、移位、异或和循环控制)都必须逐位地执行。列表1:逐位执行的CRC算法C代码。/** The width of the CRC calculation and result.* Modify the typedef for a 16 or 32-bit CRC standard.*/typedef unsigned char crc;#define WIDTH (8 * sizeof(crc))#define TOPBIT (1 << (WIDTH - 1))crc crcSlow(unsigned char const message[], int nBytes){crc remainder = 0;/** Perform modulo-2 division, a byte at a time.*/for (int byte = 0; byte < nBytes; ++byte){/** Bring the next byte into the remainder.*/remainder ^= (message[byte] << (WIDTH - 8));/** Perform modulo-2 division, a bit at a time.*/for (unsigned char bit = 8; bit > 0; "bit){/** Try to divide the current data bit.*/if (remainder & TOPBIT){remainder = (remainder << 1) ^ POLYNOMIAL;}else{remainder = (remainder << 1);}}}/** The final remainder is the CRC result.*/return (remainder);}1.传统的软件优化图3:带CRC外围电路和DMA的系统模块示意图。让我们看一下如何利用传统的软件技巧来优化CRC算法。因为CRC操作中的一个操作数,即多项式(除数)是常数,字节宽CRC操作的所有可能结果都可以预先计算并存储在一个查找表中。这样,通过一个读查找表动作就可让操作按逐个字节执行下去。采用这一算法时,需要将这些预先计算好的值存储在存储器中。选择ROM或RAM都可以,只要在启动CRC计算之前将存储器初始化就行。查找表有256个字节,表中每个字节位置包含一个CRC结果,共有256种可能的8位消息(与多项式大小无关)。列表2示出了采用查找表方法的C代码,包括生成查找表crcInit()中数值的代码。列表2:采用查找表方法的CRC算法C代码。crc crcTable[256];void crcInit(void){crc remainder;/** Compute the remainder of each possible dividend.*/for (int dividend = 0; dividend < 256; ++dividend){/** Start with the dividend followed by zeros.*/remainder = dividend << (WIDTH - 8);/** Perform modulo-2 division, a bit at a time.*/for (unsigned char bit = 8; bit > 0; "bit){/** Try to divide the current data bit.*/if (remainder & TOPBIT){remainder = (remainder << 1) ^ POLYNOMIAL;}else{remainder = (remainder << 1);}}/** Store the result into the table.*/crcTable[dividend] = remainder;}} /* crcInit() */crc crcFast(unsigned char const message[], int nBytes){unsigned char data;crc remainder = 0;/** Divide the message by the polynomial, a byte at a time.*/for (int byte = 0; byte < nBytes; ++byte){data = message[byte] ^ (remainder >> (WIDTH - 8));remainder = crcTable[data] ^ (remainder << 8);}/** The final remainder is the CRC.*/return (remainder);} /* crcFast() */整个计算减少为一个循环,每字节(不是每位)有两个异或、两个移位操作和两个装载指令。基本上,这里是用查找表的存储空间来换取速度。该方法比逐位计算的方法要快倍,这一提高对某些应用已经足够。如果需要更高的性能,可以尝试编写汇编代码或增加查找表容量以挤出更多性能来。但是,如果需要20、50甚至500倍的性能提高,就要考虑采用硬件加速来实现该算法了。表1:各种规模的数据模块下CRC算法测试比较结果。2.采用定制指令方法CRC算法由连续的异或和移位操作构成,用很少的逻辑即可在硬件中简单实现。由于这一硬件模块仅需几个周期来计算CRC,采用定制指令来实现CRC计算要比采用外围电路更好。此外,无须涉及系统中任何其它外围电路或存储器。仅需要一个微处理器来支持定制指令即可,一般是指可配置微处理器。当在硬件中实现时,算法应该每次执行16或32位计算,这取决于所采用的CRC标准。如果采用CRC-CCITT标准(16位多项式),最好每次执行16位计算。如果使用8位微处理器,效率可能不太高,因为装载操作数值及返回CRC值需要额外的周期。图2示出了用硬件实现16位CRC算法的内核。信号msg(15..0)每次被移入异或/移位硬件一位。列表3示出了在64KB数据模块上计算CRC的一些C代码例子。该实例是针对Nios嵌入式处理器。列表3:采用定制指令的CRC计算C代码。unsigned short crcCompute(unsigned short *data_block, unsigned int nWords){unsigned short* pointer;unsigned short word;/** initialize crc reg to 0xFFFF*/word = nm_crc (0xFFFF, 1); /* nm_crc() is the CRC custom instruction *//** calculate CRC on block of data* nm_crc() is the CRC custom instruction**/for (pointer = data_block; pointer < (data_block + nWords); pointer ++)word = nm_crc(*pointer, 0) return (word);}int main(void){#define data_block_begin (na_onchip_memory)#define data_block_end (na_onchip_memory + 0xffff)unsigned short crc_result;unsigned int data_block_length = (unsigned short *)data_block_end - (unsigned short*)data_block_begin + 1;crc_result = crcCompute((unsigned short *)data_block_begin, data_block_length);}采用定制指令时,用于计算CRC值的代码是一个函数调用,或宏。当针对Nios处理器实现定制指令时,系统构建工具会生成一个宏。在本例中为nm_crc(),可用它来调用定制指令。在启动CRC计算之前,定制指令内的CRC寄存器需要先初始化。装载初始值是CRC标准的一部分,而且每种CRC标准都不一样。接着,循环将为数据模块中的每16位数据调用一次CRC定制指令。这种定制指令实现方式要比逐位实现的方法快27倍。外围电路方法如果将CRC算法作为硬件外围电路来实现,并利用DMA将数据从存储器转移到外围电路,这样还可以进一步提高速度。这种方法将省去处理器为每次计算而装载数据所需要的额外周期。DMA可在此外围电路完成前一次CRC计算的时钟周期内提供新的数据。图3示出了利用DMA、CRC外围电路来实现加速的系统模块示意图。在64KB数据模块上,利用带DMA的定制外围电路可获得比逐位计算的纯软件算法快500倍的性能。要知道,随着数据模块规模的增加,使用DMA所获得的性能也随之提高。这是因为设置DMA仅需很少的开销,设置之后DMA运行得特别快,因为每个周期它都可以传递数据。因此,若只有少数字节的数据,用DMA并不划算。这里所讨论的所有采用CRC-CCITT标准(16位多项式)的算法都是在Altera Stratix FPGA的Nios处理器上实现的。表1示出了各种数据长度的测试比较结果,以及大致的硬件使用情况(FPGA中的存储器或逻辑单元)。可以看出,算法所用的硬件越多,算法速度越快。这是用硬件资源来换取速度。
李晓诗125
浅论FPGA的VGA汉字显示系统设计与实现论文
在日常学习和工作中,大家都接触过论文吧,通过论文写作可以提高我们综合运用所学知识的能力。相信写论文是一个让许多人都头痛的问题,下面是我为大家整理的浅论FPGA的VGA汉字显示系统设计与实现论文,欢迎阅读,希望大家能够喜欢。
摘要:
提出一种基于Xilinx公司的Spartan一3E的FPGA显示方案,由于FPGA芯片具有可靠性高、编程灵活、体积小等优点,采用其控制 VGA接口进行汉字显示,有效地解决了通用处理器控制VGA接口显示汉字的缺点。对新方案进行理论分析和实验,结果证明该方案达到了预期效果。
关键词:
显示绘图陈列;现场可编程门陈列;VGA汉字显示
随着科技的发展,VGA汉字显示系统的应用范围越来越广泛,传统的VGA字符显示方案是通过通用处理器控制VGA接口显示字符信息的,这种显示方案是以通用处理器为核心的处理系统,整个系统体积大、可靠性不高且灵活性差,不适合便携设备的设计。而FPGA芯片具有可靠性高、编程灵活和体积小等特点,因此用FPGA技术来实现VGA汉字显示可以有效解决传统技术中的缺点。
FPGA管脚资源丰富,运行速度快,可以实现大规模的系统设计,而且由于FPGA具有可重构能力和抗干扰能力强等优点,使其越来越多地应用于工业控制领域。利用FPGA控制VGA显示汉字,可使汉字显示脱离Pc机的控制,构建体积小、功耗低的各种嵌入式系统,可应用在人机界面、地面勘测、电子设备、智能仪表和性能监测等方面。
1、VGA汉字显示
VGA的汉字显示是利用VGA的显示原理,使用正确的时序信号对VGA接口相应管脚进行控制输出RGB颜色信息来显示相应的字符信息,其中VGA显示原理及时序信号的控制必须遵循VGA的工业标准。显示处理前端中的SRAM中存储的每一位数据对应相应LCD显示屏上一个像素点的亮和灭,“1”表示亮,“0”表示灭。在显示设备上显示汉字也就是按照汉字的点阵图向显示器上输出1或0的高低电平,从而在显示器上显示出具体的汉字。
2、VGA显示控制器的FPGA实现
FPGA芯片作为中央控制器控制整个系统的处理,根据自顶向下的设计流程,按照层次化、结构化的设计方法可以将FPGA系统划分为以下几个模块:顶层模块、分频模块、VGA控制模块、存储功能模块和RAM读取控制模块。系统工作原理:系统加电FPGA芯片读人配置信息,配置完成后,FPGA进人工作状态,将要显示的汉字的字模信息初始化到单口RAM中,由系统时钟产生时序,程序根据时序信息控制VGA接口输出行、场同步及颜色信息到显示器上。
顶层模块
根据自顶向下设计方法,首先定义顶层功能块。顶层模块处于重要的位置,定义好顶层模块功能后,才能进而分析哪些是构成顶层模块必要的子模块,然后进一步对各个子模块进行分解,直到达到无法进一步分解的底层功能块。顶层模块主要负责规定各个模块之间的数据信号和控制信号的连接关系,也就是实例化各子模块,并且接收RAM读取控制模块传来的汉字字模信息数据流,根据数据流信息中比特位为1的位赋予红色,为0的位赋予蓝色,即用红色表示汉字,用蓝色来填充背景。
分频模块
时序的驱动是设计VGA显示的控制需要注意的一个重要问题,这也是实验是否成功的关键设计。时序不正确,必定不能正常显示,有时甚至会损坏显示设备。因此,对于时序的设计我们必须遵循VGA的工业标准,在设计中使用的分辨率为640×480,根据VGA的工业标准,其像素的刷新率为25MHz。
而实验采用的实验板提供的时钟频率为50MHz,因此必须将系统进行分频设计,即进行二分频的设计。50MHz的时钟频率经过分频后得到实验所需的25MHz频率,此频率将作为顶层控制模块,VGA控制模块和RAM读取控制模块的系统时钟。
VGA控制模块
VGA信号的电平驱动是设计VGA显示的控制需要注意的另一个重要问题,这是正确显示文字图像的重要设计,如果设计不当,那么在显示器上就不能正确显示文字图像。这个模块主要是根据VGA的工业标准进行设计的,用verilog语言将工业标准用程序表示出来。
VGA时序信号产生包括行点计数器x—cnt(计数个数用 表示)、场点计数器y—cnt(计数个数用rt 表示)、行同步信号hsync、场同步信号vsync、有效显示区Visible area等。其中行点计数器是800进制计数器,场点计数器是525进制计数器。根据VGA时序的工业标准行、场同步信号有4种状态:同步脉冲信号 (Sync),显示后沿信号(Back Porch),可视显示区(Visible area),显示前沿(Front Porch)。
这4种状态具有很清晰的时序规律,可以用有限状态机来实现这4种状态的转换,用h—state来表示行同步状态机的4种状态:h—sync,h—back,h—visible,h—front;v—state来表示场同步状态机的4种状态:v—sync,v—back,v— visible,v— front。行、场计数器的值决定了状态机在何时进行状态翻转。
行状态机复位时,进入行同步状态h—sync,此时行同步信号输出低电平;当行计数器的计数值达到96时,状态机翻转进人行消隐后沿h—back状态,此时仍为消隐阶段;当行计数器的计数值达到144时,状态机翻转进入h—visible状态,它对应每行的有效显示区域,共包含640点,在此区域以外的任何部分都不被显示;当行计数器的计数值达到784时,状态机进入行消隐前沿h—front状态,此时处于消隐阶段。当行计数器计数值达到799时,行状态机进入h—sync状态,同时行计数器的复位信号为高电平,计数器复位。
与行有限状态机状态转移类似,需要注意的是行扫描是从左到右地扫描显示,而场扫描是自上而下地扫描显示,显示区域中行与场确定的一个坐标位置为一个像素点,并且只有在行、场状态都为有效可视状态(h—visibl~=1且v—visible=1)时,即行有效显示区域和场有效显示区域的逻辑与值为1时,才能在显示设备上显示。行、场消隐信号的逻辑与为复合消隐信号,处于复合消隐阶段的信号不能在显示设备上显示。
存储功能模块
存储功能模块的主要功能是存储文字信息,其存储媒介为FPGA内部的硬核块RAM,块RAM是以硬核的方式内嵌到FPGA芯片中的,不占用芯片的逻辑资源,是FPGA芯片内部的一种宝贵资源。FPGA内嵌的块RAM组件可配置为单口RAM、双口RAM、分布式ROM、块ROM、内容地址存储器CAM和先进先出存储器FIFO等存储结构 J。
本文中所做实验只进行文字显示,所以可以使用单口RAM存储文字信息,如果想实现更复杂的设计如:文字的滚动显示、图片的动画显示等可以使用双口RA M进行设计。实验使用开发软件XinlinxISE中的IP核生成工具CORE Generator生成实验用的单口RAM,并将其要显示的文字信息初始化到RAM中。实验设置显示7个汉字,每个汉字为16×16点阵,所以RAM的数据深度为l6,数据宽度为112。在工程项目里利用IP核生成工具生成单口RAM,在生成过程中把RAM的数据深度、宽度设置正确,并把事先做好的.coe文件即汉字的字模信息初始化到RAM中。
RA M读取控制模块
RAM读取控制模块是VGA显示设备和存储数据信息的RA M之间通道,为了使VGA显示设备能够准确的显示文字图像信息,必须严格遵循显示设备的扫描规律,产生相应的显示信息。块RAM中的存储地址是由0到16 组成的一维的'连续地址空间,实验显示的是由7个汉字组成的16×16的点阵,如果把这7个汉字看成一个整体,那么这个整体将占用112×16个像素点。本模块包括以下3部分内容:取出汉字字模信息,行、场计数器和坐标定位设计。
显示汉字必须首先把汉字的字模信息提取出来,可以利用一个深度为16的寄存器将RAM中的汉字字模信息暂存,待字符位置定位后再从寄存器中取出相应显示信息产生汉字字模信息的数据流;用行列计数器确定坐标点,并用坐标的位置来确定文字显示位置,其实现与VGA时序控制中的行、场计数器一致;汉字显示区域实验从屏幕的坐标点(400,240)到坐标点(512,256)区域内显示字符。
当坐标计数器刷新到坐标点(400,240)时就要相应地取寄存器地址中的第1个数据作为产生汉字的第1行点阵信息的数据流,直到坐标点 (512,240)时结束第1行的显示,当坐标计数器刷新到坐标点(400,241)时就要取出寄存器中显示汉字的第2行点阵信息,直到坐标点 (512,241)时结束第2行的显示,同理直到到达坐标点(512,256)时结束字符显示。本模块产生的字符数据流将交由顶层模块来控制其显示颜色。
3、系统实验
实验环境开发工具:Xilinx ISE ;开发语言:Verilog;仿真工具:Xilinx ISE Simulator;实验开发板:Xinlinx公司的Spartan一3E。
仿真结果
利用ISE内部的仿真软件对系统进行仿真。由仿真可以看出行、场同步(hsync、vsync)信号都有效(值为1),且行、场都处于可视区域内(水平有效显示区宽度与垂直有效显示区宽度逻辑与的区域为可视区域 ),输出使能信号vailid值为1,此时可以输出汉字信息,可以看出,当输出条件满足时,从SRAM中获取汉字信息,并将其输出,当有汉字输出时 vga—r值为1,即输出汉字颜色为红色,无汉字输出时为背景色蓝色。
实验结果
对实验进行调试,将编程数据下载到FPGA芯片中,再由显示器将汉字输出。本实验只做了一句话的实验测试,如果要实现更多字符显示,可以将更多字符信息存储到RAM字符信息库中,调取RAM中的信息进行显示即可。
4、结束语
用FPGA来控制VGA显示,可以克服使用通用处理器设计系统所带来的不便和缺点。使用块RAM存储汉字信息,不占用芯片的逻辑资源,不仅能保证较高的工作频率,而且还具有很低的动态功耗。实验实现了基于FPGA的汉字显示,方便了汉字信息的写入及内容的修改,可使汉字的显示脱离 Pc机控制,减少控制器的体积,对于小型嵌入式系统及各种便携式设备实现汉字显示具有重要的现实意义和工程实用价值。
拓展:
论文格式与要求
一般而言,非211、985学校的本科毕业论文字数在6000-8000左右(工程类需要制图的专业则会超过这个数字),而一些要求较高或者重点学校则要求论文字数在1万左右或以上,总之各个学校在论文字数上的规定都有细微的差异。
一、本科生毕业论文主要内容
1、题目 (宋体,小二,居中)
2、中文摘要(200字以上),关键词;字体:宋体、小四号,字符间距:标准;行距:20磅
3、英文摘要,关键词;
4、目录
5、正文;字体:宋体、小四号,字符间距:标准;行距:20磅
6、参考文献。期刊内容包括:作者 题名,刊名,年,卷(期):起始页码-结束页码。著作内容包括:作者、编者,文献题名,出版社,出版年份,起止页码。
7、附件:开题报告和检查情况记录表
二、格式要求
1、书写格式要求:填写项目必须用碳素或蓝黑墨水钢笔书写;
2、文稿要求:文字通顺,语言流畅,版面整洁,便于装订。Word文稿A4纸打印。
3、图纸要求:图面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标准规范,文字注释必须使用工程字书写;
4、曲线图表要求:所有曲线、图表、线路图、流程图、程序框图、示意图等不得简单徒手画,须按国家规范标准或工程要求绘制;
5、公式要求:所有公式不得徒手书写,利用Microsoft公式编辑器或Mathtype编辑。
三、毕业论文份量要求:
毕业论文字数一般不少于万字或相当信息量。外文文献阅读量的具体要求,由指导教师量化。
四、 毕业论文规范审查工作由指导教师具体负责,从毕业论文质、量、形式等规范方面对论文答辩资格进行审查。审查合格者方能参加答辩。凡质、量、形式等方面审查不合格者,应责令其返工,直到达到要求为止,否则不准参加毕业答辩。对于在校外进行毕业论文的学生,其论文答辩资格审查回校进行。
五、毕业论文档案应包括以下内容:
1、大学毕业论文(设计)封面(教务处统一印制);
2、毕业论文,包括题目及目录、开题报告、内容提要、正文及相关图表、参考文献及其他附件等;
3、指导教师、答辩委员会评阅意见、成绩评定表;
4、其他附件;
免责声明:本站文章信息来源于网络转载是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。不保证信息的合理性、准确性和完整性,且不对因信息的不合理、不准确或遗漏导致的任何损失或损害承担责任。本网站所有信息仅供参考,不做交易和服务的根据,如自行使用本网资料发生偏差,本站概不负责,亦不负任何法律责任,并保证最终解释权。
轻松小绿植
电子信息工程论文参考文献
导语:电子信息工程的论文参考文献有哪些呢?下面是我分享的电子信息工程的论文参考文献,欢迎大家阅读。
1. 谢自美等 电子电路设计、实验、测试。 武汉: 华中科技大学出版社。 XX年7月。 二版
2. 全国大学生电子设计竞赛组委会。 第五届全国大学生电子设计竞赛获奖作品选编XX. 北京: 北京理工大学出版社。XX年1月。 一版
3. 孙继平等 900mhz dds|pll在矿井无线通信系统中的应用 煤炭科学技术 XX年10期
4. 张肃文等 高频电子线路。 北京: 高等教育出版社。 1993年4月。 三版
5. 王正谋 protel电路设计实用教程。 北京: 电子工业出版社。 XX年6月。 一版
6. 郭勇等 protel 99 se 印刷电路板设计教程。 北京: 机械工业出版社。 XX年6月。 一版
7. 许自图 电子电路彷真平台与教程。 武汉: 华中科技大学出版社。 XX年1月。 一版
8. 全国大学生电子设计竞赛组委会。 第五届全国大学生电子设计竞赛获奖作品选编94-99. 北京: 北京理工大学出版社。 XX年1月。 一版
9. 曾兴雯等 高频电子线路。 北京: 高等教育出版社。 XX年1月。 一版
10. 肖玲妮等 protel 99 se 印刷电路板设计教程。 北京:清华大学出版社。 XX年8月。 一版
11. 刘庆泉 任波 刘寅生 跳频通信中变通带锁相环路(pll)的研究 沈阳理工大学学报 XX年02期
12. 彭烨等 一种应用于fsk调制器的数字可编程振荡器 四川理工学院报 XX年01期
13. 王中亚 补家武 锁相环调频发射机的`研制 湖北工业大学学报 XX年01期
14. 汤万刚等 应用matlab通信工具箱的频率合成器系统分析与彷真 中国测试技术 XX年01期
15. 王彦 田丹丹 曹学科 基于fpga的小功率立体声发射机的设计 南华大学学报 XX年01期
[1](美)BruceMolay着,杨宗源,黄海涛译.Unix/Linux编程实践教程[M].清华大学出版社,2004
[2]姜毅,王兆青,曹丽.基于HTTP的实时信息传输方法[J].计算机工程与设计.2008(10)
[3]崔文婧.数字娱乐产业中流行文化对于电子游戏的影响[D].北京服装学院2010
[4]刘晓晖.SAP系统中不同物料分类的创建方法[D].上海交通大学2011
[5]封炜.基于GPS/GIS/GSM的物流信息监控系统的设计与实现[D].上海交通大学2011
[6]赵胤.基于SAP的离散制造型企业成本控制设计与实现[D].上海交通大学2011
[7]李长斌.驼峰空压站监控系统的设计与实现[D].上海交通大学2012
[8]闵国石.铁路工务作业安全控制系统的研究[D].上海交通大学2012
[9]龚俊.基于Javamail技术的企业Email安全管理系统的设计与实现[D].上海交通大学2012
[10]朱骁勇.基于SCCM的软件分发管理与软件封装模板助手[D].上海交通大学2013
[11]彭诚.基于GPS的物流车辆监控系统的设计和实现[D].上海交通大学2013
[12]苏政华.离散制造型企业的SAP系统FICO模块设计与实现[D].上海交通大学2013
[13]周昕毅.Linux集群运维平台用户权限管理及日志审计系统实现[D].上海交通大学2013
[14]徐朱平.SDP-21框架下项目管理在对日软件外包中的应用[D].上海交通大学2010
[15]刘进学.DeltaVDCS系统在丙烯均相聚合系统中的应用与研究[D].上海交通大学2010
[16]李立平.基于数据挖掘的勘探随钻分析系统[D].上海交通大学2010
[17]王平.半自动闭塞控制信息数字化传输系统的设计与实现[D].上海交通大学2012
[18]潘忠锐.铁路OA系统的设计与实现[D].上海交通大学2012
[19]黄怡君.银行业的存储虚拟化系统设计与实现[D].上海交通大学2012
[20]孙英.浅谈Flash与XML之间的通信[J].电脑知识与技术.2008(15)
在老师给的课题中选择一个。研究方向就是根据老师给你的课题中选择一个具体的方向,对象就是你确定了方向。所谓学术专长,是指在某项研究或工作中的突出部分。学术专长的填
强烈推荐现在报社杂志社一般用方正飞腾和CorelDRAW了。。 方正飞腾制作起来快、简便。 但是用CorelDRAW相对效果会更好。但是现在报社杂志社用Core
题目:医院计算机网络设备管理维护分析【摘 要】本文围绕医院常见计算机网络设备、医院计算机网络设备的管理措施、医院计算机网络设备的维护措施三个方面展开讨论,对医院
正好我这两天再研究测试用例管理系统,虽然不是毕业论文,但是希望能帮上你的忙——测试用例执行结果统计分析模块(Statistics & Analysis)——测试
科技的发展包括很多方面,计算机技术就是科技发展中的重要组成部分和表现形式。进入二十一世纪以来,世界各个国家的经济都在飞速的发展中,经济的发展必然会促进科技的进步