- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章数字逻辑单元设计分析
数字逻辑单元设计-RAM设计 architecture syn of rams_01 is type ram_type is array (63 downto 0) of std_logic_vector (15 downto 0); signal RAM: ram_type; begin process (clk) begin if clkevent and clk = 1 then if en = 1 then if we = 1 then RAM(conv_integer(addr)) = di; end if; do = RAM(conv_integer(addr)) ; end if; end if; end process; end syn; library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity rams_01 is port (clk : in std_logic; we : in std_logic; en : in std_logic; addr : in std_logic_vector(5 downto 0); di : in std_logic_vector(15 downto 0); do : out std_logic_vector(15 downto 0)); end rams_01; 数字逻辑单元设计-FSM设计 有限自动状态机FSM(Finate State Machine)的设计 是复杂数字系统中非常重要的一部分,是实现高效率高可 靠性逻辑控制的重要途径。大部分数字系统都是由控制单 元和数据单元组成的。数据单元负责数据的处理和传输, 而控制单元主要是控制数据单元的操作的顺序。而在数字 系统中,控制单元往往是通过使用有限状态机实现的,有 限状态机接受外部信号以及数据单元产生的状态信息,产 生控制信号序列。 数字逻辑单元设计-FSM原理 数字逻辑单元设计-FSM原理 从上面的数学模型可以看出,如果在数字系统中实现有 限状态机,则应该包含三部分:状态寄存器;下状态转移 逻辑;输出逻辑。 描述有限状态机的关键是状态机的状态集合以及这些状 态之间的转移关系。描述这种转换关系除了数学模型外, 还可以用状态转移图或状态转移表来实现。 状态转移图由三部分组成:表示不同状态的状态点、连 接这些状态点的有向箭头以及标注在这些箭头上的状态转 移条件。 状态转移表采用表格的方式描述状态机。状态转移表由 三部分组成:当前状态、状态转移事件和下一状态。 数字逻辑单元设计-FSM设计优点 采用有限状态机描述有以下方面的优点: 1、可以采用不同的编码风格,在描述状态机时,设计 者常采用的编码有二进制、格雷码、one hot编码,用户可 以根据自己的需要在综合时确定,而不需要修改源文件或 修改源文件中的编码格式以及状态机的描述。 2、可以实现状态的最小化,(如果one hot编码,控制 信号数量庞大)。 3、设计灵活,将控制单元与数据单元分离开。 数字逻辑单元设计-状态编码 设计者可以在使用状态机之前应该定义状态变量 的枚举类型,定义可以在状态机描述的源文件中, 也可以在专门的程序包中。 【例】状态变量的定义 TYPE main_con_state IS (state1,state2); 【例】状态变量的定义 signal current_state :main_con_state; signal next_state: main_con_state; 数字逻辑单元设计-状态编码 FSM的状态可以采用的状态编码规则有很多,在Xilinx的状态编码 “One_Hot”; “Gray”; ”Compact”; ”Johnson”; “Sequential”; “Speed1”; “User”的编码方式; 下面对这些状态编码的性能进行简单的介绍。 数字逻辑单元设计-状态编码 十进制数 二进制码 Gray码 Johnson码 One-hot吗 0 000 000 000 001 1 001 001 001 010 2 010 011 011 100 3 011 010 111 1000 4 100 110 5 101 111 6 110 101 7 111 100 数字逻辑单元设计-状态编码 1、One_Hot状态编码 ONE HOT的编码方案对每一个状态采用一个触发器, 即4个状态的状态机需4个触发器。同一时间仅1个状态位
文档评论(0)