版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
清华大学自动化系2025.08电子电路与微处理器基础叶朝辉FundamentalsofElectronicCircuitsandMicroprocessor14.1存储器14.2可编程逻辑器件14.3Verilog硬件描述语言第14章存储器与可编程逻辑器件2314.1.1
存储器的分类14.1.2
存储器的一般结构14.1.3
ROM存储器14.1.4
RAM存储器14.1存储器414.1.1存储器的分类1.从存/取功能分:只读存储器ROM:(Read-Only-Memory)
存储的数据在断电后不会丢失Flash存储器:可读写的ROM随机读/写存储器RAM:(Random-Access-Memory)
存储的数据在断电后会丢失静态RAM-SRAM动态RAM-DRAM掩膜ROM信息可被读出,但不能改变PROM允许编程器将数据写入一次EPROM可多次擦除、写入2.从工艺分:双极型(晶体管)MOS型514.1.2存储器的一般结构图14-1-1存储器一般结构表14-1-1存储矩阵行/列012300/10/10/10/110/10/10/10/120/10/10/10/130/10/10/10/1614.1.3ROM存储器图14-1-2ROM存储矩阵简化图图14-1-3二极管存储矩阵D3D2D2D0=1100输出数据D3D2D1D0通过三态门缓冲器输出,EN′为其控制信号。接有二极管的单元存储的数据为1,没有接入的则为0。圆点表示存储单元存储数据为1W0~W3称为字线7图14-1-4MOS管存储矩阵接有NMOS管的单元存储的数据为1,其余单元存储的数据为0。814.1.4RAM存储器图14-1-4RAM结构R/W′=1时读出数据,R/W′=0时写入数据;片选信号CS′=0时RAM能正常工作;CS′=1时所有的输入/输出端均为高阻态,无法进行读/写操作。
实际应用时,多个RAM可以级联起来以扩大容量。9SRAM:存储单元由锁存器组成,一旦断电,则数据会丢失,容量大,功耗小。DRAM:存储单元依靠MOS管栅极等效电容可以存储电荷的特点来保存数据,结构简单,集成度高,容量大。但需要定时给栅极电容补充电荷的刷新(或再生)操作,使得应用较复杂。1014.2.1
数字集成电路的分类14.2.2
可编程逻辑器件PLD14.2.3
现场可编程门阵列FPGA14.2可编程逻辑器件1114.2.1数字集成电路的分类1.通用型(GeneralIntegratedCircuits):也称为标准型,具有较强的通用性,包括晶体管型和CMOS型两类。例如七段显示译码器74LS48,编码器74HC138等;2.专用型(Application-SpecificIntegratedCircuits,ASIC):是专为某种用途而设计的集成电路芯片,通常具有特定功能,例如人工智能算法芯片、电脑显卡芯片、图像处理芯片等;3.其它定制型:为某种应用定制的集成电路,主要包括微处理器和存储器。1214.2.2可编程逻辑器件PLD
可编程逻辑器件PLD(ProgrammableLogicDevice):按通用器件来生产,但逻辑功能是由用户通过对器件进行软件编程来设定的数字集成电路,具有较广泛的应用。包括简单可编程逻辑器件SPLD(SimpleProgrammableLogicDevice)、复杂可编程逻辑器件CPLD(ComplexProgrammableLogicDevice)和现场可编程门阵列FPGA(FieldProgrammableGateArray),其中以FPGA应用最广泛。1314.2.3现场可编程门阵列FPGAFPGA可以通过软件重新编程并能够在线修改以实现所需的应用。
从制造工艺上,FPGA分为SRAM型和Flash型两种:常用的为SRAM型:SRAM型速度快、功耗较大,且断电后数据会丢失,应用时需要一个EPROM保存配置数据;Flash型速度较慢、功耗较小,断电后数据不会丢失。一、FPGA概念及分类14二、FPGA结构图14-2-1通用FPGA结构CLB(ConfigurableLogicBlocks):可配置逻辑模块,有的也称为逻辑单元LE(LogicElements)可编程互连(ProgrammableInterconnects)块RAM(BlockRAM,简称BR)数字信号处理模块DSP(DigitalSignalProcessor)I/O块15图14-2-23输入的LUT结构CLB由查找表LUT(LookUpTble)组成,LUT则由二选一数据选择器和RAM组成。16三、FPGA设计例:实现逻辑函数Y=AB+BC’3-LUT001000110 1 0√√√√√√存于RAM√ABC Y0 0 0 00 0 1 00 1 0 10 1 1 01 0 0 01 0 1 01 1 0 11 1 1 1真值表17图14-2-44输入的LUT
两个3输入的LUT和一个二选一数据选择器可以组成一个4输入的LUT。18由于k输入的LUT可以实现任意k变量逻辑函数,因此需要的电路资源较多,其成本通常比ASCI芯片高,只适合于ASCI芯片无法满足的应用。LUT中也可以包含D触发器,用于实现时序逻辑电路。图14-2-5LUT中包含D触发器图14-2-6逻辑电路1914.3.1
程序结构14.3.2
模块结构14.3.3
变量和参数14.3.4
数据类型14.3.5
操作符14.3.6
语句14.3.7
电路描述方法14.3.8
编程举例14.3Verilog硬件描述语言2014.3.1程序结构图14-3-1Verilog程序的模块化结构2114.3.2模块结构模块名称(输入、输出端口列表);变量定义(input,output,wire,reg)参数定义调用底层模块(实例化底层模块)assign(连续赋值语句)always(过程赋值语句,组合逻辑电路)always(过程赋值语句,时序逻辑电路)模块结束endmodule2214.3.3变量和参数一、变量输入变量input输出变量output输入输出变量inout:既可以作为输入也可以作为输出;连线变量wire:电路之间的连线;寄存器变量reg:触发器或寄存器的输出,用于时序逻辑电路。23二、参数
参数通常为固定值,用于表示一些固定不变且可能多次用到的数据。例如数据位数为固定的8位,可定义为:ParameterWidth=8。2414.3.4数据类型1.位(Bit):一位二进制数据,有四种取值,即0、1、x、z,分别表示逻辑0、1、不定状态、高阻态。2.位相量(Vectorsofbits):多位数据,例如,A[3:0],表示4bits数据A[3],A[2],A[1],A[0]。
3.数值:可以是二进制、八进制、十进制或十六进制等;8′b0000_0100表示8位二进制数,b(binary)表示二进制;12′h4a6表示3位十六进制数,h(hexadecimal)表示十六进制。3′d251表示3位十进制数,d(decimal)表示十六进制。2514.3.5操作符
操作符又称运算符,主要包括算术操作符、逻辑操作符、关系操作符、移位操作符等。分类操作符及功能简要说明算术操作符
+加-减*乘/除%整除二元操作符,两个数进行算术运算逻辑操作符&&与||或!
非除了“!”操作符为一元操作符以外,其余为二元操作符位操作符&与|或~非^异或^~同或除了“~”操作符为一元操作符以外,其余为二元操作符,操作数按位进行逻辑运算2614.3.5操作符分类操作符及功能简要说明关系操作符==相等!=不等<小于>大于<=小于等于>=大于等于二元操作符,两个操作数进行比较,若关系成立,则返回值为1,否则为0移位操作符>>右移<<左移二元操作符,操作符左边为被移位的数,右边为移位的数量,移位后空出的位补02714.3.6语句
语句用于描述电路或者算法,主要包括条件判断和赋值语句。ifelse(条件判断语句)case(条件判断语句)assign(连续赋值语句):主要用于描述组合逻辑电路always(过程赋值语句):既可以描述组合逻辑电路,又可以描述时序逻辑电路。2814.3.7电路描述方法1.门级描述(GateLevelDescription):又称为结构描述,用于描述内部门电路的结构;2.数据流描述(DataflowDescription):不关注内部门电路结构,而关注输入和输出数据之间的逻辑关系,常用assign语句描述;3.行为描述(BehavioralDescription):描述电路的执行过程,通常用过程赋值语句always描述。2914.3.8编程举例modulemuxgate(a,b,out,
outbar,sel);
inputa,b,sel;//定义输入变量
outputout,outbar;//定义输出变量
wireout1,out2,selb;//定义连线变量
//描述内部每个门电路
anda1(out1,a,sel);
noti1(selb,sel);
anda2(out2,b,selb);
oro1(out,out1,out2);
noti2(outbar,out);endmodule 二选一数据选择器1.门级描述
每条语句是并行(即同时)执行的,与书写顺序无关。
一、组合逻辑电路设计302.数据流描述图14-3-4二选一数据选择器框图modulemux_2_to_1(a,b,sel,out,outbar);inputa,b,sel;//定义输入变量outputout,outbar;//定义输出变量
assignout=sel?a:b;//若sel=1则out=a,否则out=bassignoutbar=~out;
endmoduleassign语句中,等式右边是组合逻辑电路表达式(例如~out),因此等式左边的输出(例如outbar)不能定义为寄存器变量。313.行为描述(1)采用过程赋值语句always模块,并且在模块中用ifelse语句modulemux_2_to_1(a,b,out,outbar,sel);inputa,b,sel;outputout,outbar;regout;//将out同时定义为reg型变量,以便在always模块中使用
always@(aorborsel)//可省略写为“*”,即写为:always@(*)beginif(sel)out=a;//如果sel=1,则out=a,否则out=belseout=b;//阻塞赋值语句采用“=”,表示语句是按顺序依次执行的endassignoutbar=~out;endmodulealways模块中的输出变量(例如out)需要同时定义为reg型变量。32(2)采用过程赋值语句always模块,并且在模块中使用case语句modulemux_2_to_1(a,b,out,outbar,sel);inputa,b,sel;outputout,outbar;regout;//将out同时定义为reg型变量,以便在always模块中使用always@(aorborsel)begincase(sel)1′b1:out=a;//当sel=1,则out=a1′b0:out=b;//当sel=0,则out=bdefault:out=1′bx;//其它情况下out为不确定值endcaseendassignoutbar=~out;endmodule33二、时序逻辑电路设计1.D触发器设计图14-3-5D触发器moduledff_sync_clear(D,clearb,clock,q);inputD,clearb,clk;outputQ;regQ;//将out同时定义为reg型变量,以便在always模块中使用always@(posedgeclk)//括号中表示时钟clk上升沿时电路动作beginif(!clearb)Q<=1'b0;//非阻塞赋值语句用“<=”elseQ<=D;//非阻塞赋值语句用“<=”endendmodule34状态机设计状态机通常采用三段式描述,包括三个always模块:(1)第一个always模块采用同步时序逻辑电路描述方式,描述现态和次态之间的转换;(2)第二个always模块采用组合逻辑电路描述方式,判断状态转移条件,描述状态转移规律;(3)第三个always模块采用同步时序逻辑电路描述方式,描述状态输出和寄存器输出。35图14-3-6D触发器状态机D触发器状态机的三段式编程moduleFSM(clk,D,Q,reset);inputclk,D,reset;//定义输入变量outputQ;//定义输出变量regQ;//将Q同时定义为reg型变量,以便在always模块中使用regcurrent_state,next_state;//定义状态机的现态和次态parameterS0=0,S1=1;//定义状态机的两个状态的值
always@(posedgeclkorposedgereset)//第一段:确定现态及状态转换begin if(reset)current_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程采购服务合同范本
- 宾馆监控安装合同范本
- 托管与家长免责协议书
- 工程人员劳务合同范本
- 学校与武馆合同协议书
- 建筑工程用工合同范本
- 技术居间协议合同范本
- 大班社会我的祖国教案
- 中班上学期数学教案走迷宫(2025-2026学年)
- 二年级上册语文一分钟∣人教新课标教案(2025-2026学年)
- 新能源发电技术课件:新能源发电的故障穿越技术
- 管线拆除施工方案
- 杉木容器育苗技术规程
- 售后工程师述职报告
- 专题12将军饮马模型(原卷版+解析)
- 粉刷安全晨会(班前会)
- (中职)中职生创新创业能力提升教课件完整版
- 部编版八年级语文上册课外文言文阅读训练5篇()【含答案及译文】
- 高三英语一轮复习人教版(2019)全七册单元写作主题汇 总目录清单
- 路基工程危险源辨识与风险评价清单
- NB-T+10131-2019水电工程水库区工程地质勘察规程
评论
0/150
提交评论