集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2799|回复: 2

米勒型有限状态机实现的串行口发送源程序

[复制链接]
weibode01 发表于 2010-11-9 15:09:26 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-11-18 15:58 编辑

米勒型有限状态机实现的串行口发送源程序
module s_tx(clk,en,dain,txd);
input clk,en;
input[7:0] dain;
output txd;
reg [7:0] da_temp;
reg txd;
reg [3:0] state;
parameter swait=4'b0000, star=4'b0001,  s1=4'b0010,  s2=4'b0011,
s3=4'b0100,  s4=4'b0101,  s5=4'b0110,  s6=4'b0111,s7=4'b1000,
s8=4'b1001, stop=4'b1010;
always @(posedge en)
      da_temp<=dain;
always @(posedge clk)
    if (!en)
       begin
         state<=swait;
         txd<=1;
       end
    else
       case(state)
         swait: begin state<=star;txd<=1; end
         star: begin state<=s1; txd<=0; end
         s1: begin state<=s2; txd<=da_temp[7]; end
         s2: begin state<=s3; txd<=da_temp[6]; end
         s3: begin state<=s4; txd<=da_temp[5]; end
         s4: begin state<=s5; txd<=da_temp[4]; end
         s5: begin state<=s6; txd<=da_temp[3]; end
         s6: begin state<=s7; txd<=da_temp[2]; end
         s7: begin state<=s8; txd<=da_temp[1]; end
         s8: begin state<=stop; txd<=da_temp[0]; end
         stop: begin state<=stop; txd<=1; end
       endcase
endmodule
pgfzhy 发表于 2010-11-9 18:13:06 | 显示全部楼层
学习学习!学习学习!
 楼主| weibode01 发表于 2010-11-14 09:30:32 | 显示全部楼层
嗯, 多帮我顶下贴子
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 01:55 , Processed in 0.058371 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表