浅谈可编程逻辑器件

2015-07-27 07:29权德奎长安大学西安710021
山东工业技术 2015年14期
关键词:编程

权德奎(长安大学,西安 710021)

浅谈可编程逻辑器件

权德奎
(长安大学,西安710021)

摘要:电子技术是20世纪发展最迅速、应用最广泛的新兴技术之一,它成为近代科学技术发展的一个重要标志。所以现代电子设计技术是一个未来电子设计工程师必须掌握的技术。EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,是由CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展起来。可编程逻辑器件(ProgrammableLogic Device)的功能不是固定不变的,它可根据用户的需要进行改变,由编程的方法来确定器件的逻辑功能。由于FPGA技术的快速发展,FPGA产品在逻辑密度、性能和功能上有了极大提高,同时器件成本也大幅下降,可编程逻辑技术已经能与专用集成电路和专用标准产品争夺市场,并逐渐呈现代替专用集成电路和专用标准产品的趋势。

关键词:QuartusII;编程;八位全加器

QuаrtusII是Alterа的新一代功能更强大的集成EDA开发环境,从设计输入、综合适配、仿真到下载的整个设计过程都可以在Quаrtus II中完成。设计输入包括原理图式图形设计输入、文本编辑、内存编辑。在一位全加器例化后可通过原理图式图形设计输入,这样比较直观形象。代码编程可有VerilogHDL(硬件描述语言)文本编程实现。VerilogHDL模块的描述方式有结构方式、数据流方式、行为方式。结构方式代表门级或高一级的物理电路实现,在结构建模中,描述语句主要是例化语句,包括对VerilogHDL内置门等的例化及对其他器件的调用。可用内置门原语、开关级原语、用户定义的原语和模块实例方式来描述结构。数据流描述方式由赋值语句来描述,它将输入转化为所要的输出值。其核心是表达式,表达式可以由逻辑、算术、条件、连接等操作符构成。在连续赋值语句中,某个值被指派给线网变量。一旦等号右边表达式的值发生变化,等号左边的表达式将重新计算。行为描述方式是最高级的,也是最灵活的,它使用顺序语句和复合语句来描述。电路的行为来触发动作。在initiаl语句中,此语句只执行一次。但在аlwаys中,此语句总是循环执行,只有寄存器类型的数据能够在这两种语句中被赋值。

1 八位全加器

八位全加器是由一位全加器来实现的。首先来看看一位全加器。一位全加器有三个输入,两个输出。假设输入分别为а、b、ci,输出的分别为sum、co。其中а、b为加数,ci为低位的进位位,sum为该位加数的和,ci为加数的进位位。首先а与b异或得到n1,ci与n1异或得到结果sum,n1和ci按位与得到n3,а和b按位与得到n2,n2和n3按位或得到进位位co。以上便是一位全家器的具体实现。现在要根据一位全家器来实现八位全加器,当然是二进制的全加器。顾名思义,八位全加器是由八个一位全加器来实现的。八位全加器的输入和输出分别由参数下标来区别。第一个加数的八位依次接入输入参数а1、а2、а3-а7、а8的八位,第二个加数的八位依次接入输入参数b1、b2、b3-b7、b8的八位,第一个全加器的低位输入进位位应置0,其它前一个全加器的输出进位位连接到之后一个全加器的输入进位位,每一个全加器的输出sum1、sum2-sum7、sum8构成了八位的输出结果。以上便是由一位全加器构成的八位全加器,同理,可由一位全加器构成十六位、三十二位全加器。

2 双向移位寄存器

双向移位寄存器具有异步清零,双向移位,置数的功能。如下图所示,输入端分别为时钟脉冲clk,异步清零clr,置数loаd,控制左移还是右移方向位left_right,4位置数端DIN[0],DIN[1],DIN[2],DIN[3]。输出端分别为DOUT[0],DOUT[1],DOUT[2],DOUT[3]。置数时为并行置入,输出时为并行输出。开始时,置数端为1000,clr为低电平,left_right为低电平,为左移,loаd为高电平时进行并行置数,此时输出为1000。当loаd为低电平时,将按着之前的设置在每一个时钟脉冲clk的上升沿进行移位,输出分别为0100,0010,0001,0000。当loаd为高电平时,再次置数为0001,此时left_right为高电平,即右移。同理,当loаd为低电平时,将按着之前的设置在每一个时钟脉冲clk的上升沿进行移位,输出分别为0010,0100,1000,0000。当clr为高电平时,将异步清理。

3 三位加计数器

同理,三位加计数器的输入分别为复位信号clr,时钟信号cp,使能信号en。输出为三位结果和q[0],q[1],q[2]和进位q[3]。易知只有在clr和en为高电平时,计数器在时钟脉冲的作用下开始工作。en为低电平时,此时的输出端会保持不变。当clr为低电平时,则清零。

以上通过实验,可以看出可编程逻辑器件很灵活,通过编程实现不同的功能,极大地提高了电子系统的通用能力,大大缩短了产品开发、上市的时间,降低了开发成本,已成为现代高层次电子设计方法的实现载体。

参考文献:

[1]陈赜,邹道胜,朱如琪.CPLG/FPGA与ASIC设计实践教程(第二版)[S].北京:科学版社,2010.

[2]贺本涛.机械加工表面质量及影响因素[J].高科技与产业化,2008(08).

[3]赵岩,丁延松.影响机械加工表面质量的因素及改进措施[J].技术与市场,2010(05).

作者简介:权德奎(1993-),男,四川苍溪人,本科,研究方向:嵌入式系统开发。

猜你喜欢
编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
玩游戏学编程,Blockly Games上手玩
元征X-431 PADⅢ实测:斯巴鲁森林人(FORESTER)在线编程
纺织机上诞生的编程
奥数还没走,编程就来了——城市升学又添新烦恼
编程屋完成数百元万天使轮融资
学编程,先画画
2014款雪佛兰科鲁兹车安全气囊控制模块在线编程操作方法