八位串行输入串行输出冒泡排序verilog.docVIP

八位串行输入串行输出冒泡排序verilog.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
八位串行输入串行输出冒泡排序verilog.doc

实现功能:八位串行输入串行输出冒泡排序 源文件: module bubble_sort(clk,rst,Load,Sort,Send,Data_in,Data_out); input clk,rst,Load,Sort,Send; input [7:0]Data_in; output reg[7:0] Data_out; reg[7:0] A[1:8]; reg[3:0]k; reg[3:0]i,j; reg [2:0]state,nstate; parameter S_rst=3d0; parameter S_init=3d1; parameter S_idle=3d2; parameter S_load=3d3; parameter S_prep=3d4; parameter S_sort=3d5; parameter S_wait=3d6; parameter S_send=3d7; always@(posedge clk or posedge rst) begin if(rst) state=S_rst; else state=nstate; end //状态切换 always@(state or Load or Sort or Send or i or k) begin case(state) S_rst: begin nstate=S_init; end S_init: nstate=S_idle; S_idle: begin if(Load==1b1) nstate=S_load; else if(Sort==1b1) nstate=S_prep; else nstate = S_idle; end S_load: begin if(k==4d8) nstate=S_init; else nstate=S_load; end S_prep: nstate=S_sort; S_sort: begin if(i=j) nstate=S_sort; else if(i=4d8) nstate=S_sort; else if(Send==1b1) nstate=S_send; else nstate=S_wait; end S_wait: begin if(Send==1b1) nstate=Send; else nstate=S_wait; end S_send: begin if(k==4d8) nstate=S_init; else nstate=S_send; end default: nstate=S_rst; endcase end //数据传送 always@(posedge clk) begin case(state) S_rst: ; S_init: begin k=4d0; end S_idle: begin if((Load==1b0)(Sort==1b1)) begin j=4d8; i=4d2; end end S_load: begin if(k4d8) begin k=k+1b1; A[1]=Data_in; A[2]=A[1]; A[3]=A[2]; A[4]=A[3]; A[5]=A[4]; A[6]=A[5]; A[7]=A[6]; A[8]=A[7]; end end S_prep: begin if(A[j-1]A[j]) begin A[j]=A[j-1]; A[j-1]=A[j]; j=j-1b1; end end S_sort: begin if(i=j) if(A[j-1]A[j]) begin A[j]=A[j-1]; A[j-

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档