层次结构设计

层次结构设计

ID:65486569

大小:551.00 KB

页数:79页

时间:2022-01-09

层次结构设计_第1页
层次结构设计_第2页
层次结构设计_第3页
层次结构设计_第4页
层次结构设计_第5页
层次结构设计_第6页
层次结构设计_第7页
层次结构设计_第8页
层次结构设计_第9页
层次结构设计_第10页
资源描述:

《层次结构设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第五章数字系统的 层次结构设计层次结构设计是大型数字系统设计的主要方法。在系统设计中,需要解决的主要问题包括系统算法的研究、系统的设计划分、硬件系统的互连和系统的仿真测试。5.1硬件的算法模型系统级设计是硬件设计过程的第一步,其任务是把硬件系统功能的自然语言描述转换为真值表、状态图或硬件描述语言算法模型。将自然语言转换为真值表或状态图,要求设计者对硬件的系统功能有较深入的了解,一旦真值表或状态图确定后,系统的硬件结构也随之确定。将硬件系统功能的自然语言描述转换为硬件描述语言的算法模型,无需对电路的结构和形式预作任何限制,与真值表或状态图相比,硬件描述语言构造的算法模型更加灵活,设计方便,

2、有利于设计的优化。用VHDL语言构造的硬件算法模型,由一系列相互关联的进程组成。构造硬件的算法模型,实际上就是把描述系统功能的自然语言翻译为一组进程,每个进程完成不同的功能。完成这一转换,需要经过下述步骤:(1)把描述系统功能的自然语言分组,每组映射为一个进程或块。这实际上隐含了设计的划分。(2)对每个进程确定激活的条件和进程激活后的动作。(3)写出VHDL源代码,实现进程激活后的动作。5.1.1先进先出堆栈(FIFO)的算法模型Din[0:n]/RD/WRCLKDout[0:n]FULLEMPTYFIFO是一个环行结构的数据存储器,其接口信号包括数据输入Din,数据输出Dout,一根读

3、控制线RD和一根写控制线WR,CLK是时钟信号,此外还有两根状态信号,存储器满FULL和存储器空EMPTY。RD和WR低电平有效。FIFO的算法描述RPWP当WP=RP时,再有效写入一次,存储器写满。WPRP存储器写满的条件存储器读空的条件当RP=WP-2时,再有一次有效的读出,存储器读空。根据上述FIFO的功能描述,先进先出堆栈FIFO需5个功能块组成,即存储器体、写指针(WP)、读指针(RP)、满信号FULL产生逻辑、空信号EMPTY逻辑,这五个功能块用五个进程描述,其中进程P1描述存储器操作,P2描述出栈指针RP的计数操作,P3描述进栈指针WP的计数操作,P4描述满标志产生逻辑,P

4、5描述空标志产生逻辑。堆栈的操作在时钟脉冲CLK的控制下同步进行。256字节FIFO的VHDL算法模型。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYfifoISGENERIC(w:INTEGER:=256;K:INTEGER:=8);PORT(clk,reset,wr,rd:INSTD_LOGIC;din:INSTD_LOGIC_VECTOR(k-1DOWNTO0);dout:OUTSTD_LOGIC_VECTOR(k-1DO

5、WNTO0);full,empty:OUTSTD_LOGIC);ENDfifo;ARCHITECTUREbehavOFfifoISTYPEmemoryISARRAY(0TOw-1)OFSTD_LOGIC_VECTOR(k-1DOWNTO0);SIGNALram:MEMORY;SIRNALup,rp:INTEGERRANGE0TOw-1;SIGNALin_full,in_empty:STD_LOGIC;BEGINfull<=in_full;empty<=in_empty;dout<=ram(rp);P1:PROCESS(clk)BEGINIF(clk'EVENTANDclk='1')THE

6、NIF(wr='0'ANDin_full='0')THENram(wp)<=din;ENDIF;ENDIF;ENDPROCESSP1;数据写堆栈P2:PROCESS(clk,reset)BEGINIF(reset='1')THENrp<=w-1;ELSIF(clk'EVENTANDclk='1')THENIF(rd='0'ANDin_empty='0')THENIF(rp=w-1)THENrp<=0;ELSErp<=rp+1;ENDIF;ENDIF;ENDIF;ENDPROCESSP2;RP指针修改P3:PROCESS(clk,reset)BEGINIF(reset='1')THENwp

7、<=0;ELSIF(clk'EVENTANDclk='0')THENIF(wr='0'ANDin_full='0')THENIF(wp=w-1)THENwp<=0;ELSEwp<=wp+1;ENDIF;ENDIF;ENDIF;ENDPROCESSP3;WP指针修改P5:PROCESS(clk'reset)BEGINIF(reset='1')THEin_full<='0';ELSIF(clk'EVENTANDclk='1')THENI

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

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

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