基于FPGA的数字系统设计

基于FPGA的数字系统设计

ID:36924722

大小:3.72 MB

页数:80页

时间:2019-05-11

基于FPGA的数字系统设计_第1页
基于FPGA的数字系统设计_第2页
基于FPGA的数字系统设计_第3页
基于FPGA的数字系统设计_第4页
基于FPGA的数字系统设计_第5页
资源描述:

《基于FPGA的数字系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、16.8状态编码状态分配、状态编码:将一个码值分配给机器各个状态的任务。状态编码决定了用以保持状态所需的触发器的数量,并且影响着实现状态机下一状态和输出逻辑的复杂度。一个有N种状态的状态机将至少需要log2N个触发器来存储状态编码。2手动分配状态编码的原则:1、如果对于某个给定的输入,两个状态会跳转到相同的下一状态,则给它们分配相邻的码值。2、对相邻的状态分配相邻的码值。3、对于某个给定的输入具有相同输出的状态,分配相邻的码值。以上原则可简化实现输出和下一状态功能的组合逻辑电路。3常见状态分配编码#BinaryOne-H

2、otGrayJohnson0123456789101112131415000000010010001101000101011001111000100110101011110011011110111100000000000000010000000000000010000000000000010000000000000010000000000000010000000000000010000000000000010000000000000010000000000000010000000000000010000000000000

3、01000000000000001000000000000001000000000000001000000000000001000000000000001000000000000000000000010011001001100111010101001100110111111110101010111001100000000000000000010000001100000111000011110001111100111111011111111111111111111110111111001111100011110000111

4、0000011000000100000004Binary码:使用最少数量的触发器,译码逻辑较复杂。Gray码:与Binary位数相同,其特点是两个相邻的码值仅变化一位,使用时可减少电路中的电噪声。Johnson码:特点同Gray码。但使用位数较多。Gray码和Johnson码的优点是不会产生中间过渡状态。5One-Hot(独热)码、One-Cold(独冷)码:每个状态只有一个触发器有效;下一状态及输出译码逻辑简单;one-hot机有更快的速度;状态的增减修改方便;用较少的位完成状态转移,比二进制编码更可靠。66.9隐式状

5、态机、寄存器及计数器的综合状态机分为:显式状态机(FSM)、隐式状态机76.9.1隐式状态机隐式状态机:不能用明确的寄存器变量(reg)来表示状态机的状态值,而是由周期性(always…)行为中动作的进程来隐性定义其状态。任何一个在每个时钟周期中具有相同动作流的时序机都是一个单周期隐式状态机,可用一个状态来描述其动作。8always@(posedgeclk)beginreg_a<=reg_b;//第一个周期执行reg_c<=reg_d;@(posedgeclk)beginreg_g<=reg_f;//第二个周期执行reg

6、_m<=reg_r;endend隐式状态机可以内嵌多个时钟同步的事件控制表达式,多个事件控制表达式将行为动作分派到机器的不同时钟周期。96.9.2计数器综合例6.294位行波计数器10116.9.3寄存器综合例6.31触发器输出综合moduleshift_1(outputregsig_d,new_signal,inputdata_in,clock,reset);regsig_a,sig_b,sig_c;always@(posedgereset,posedgeclock)beginif(reset==1’b1)begins

7、ig_a<=0;sig_b<=0;sig_c<=0;sig_d<=0;new_signal<=0;end12elsebeginsig_a<=data_in;sig_b<=sig_a;sig_c<=sig_b;sig_d<=sig_c;new_signal<=(~sig_a)&sig_b;endendendmodule13综合电路14例6.32组合输出综合moduleshift_1(outputregsig_d,outputnew_signal,inputdata_in,clock,reset);regsig_a,sig_

8、b,sig_c;always@(posedgeresetorposedgeclock)beginif(reset==1’b1)beginsig_a<=0;sig_b<=0;sig_c<=0;sig_d<=0;end15elsebeginsig_a<=data_in;sig_b<=sig_a;sig_c<=sig_b;

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

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

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