找回密码
 注册
关于网站域名变更的通知
查看: 374|回复: 1
打印 上一主题 下一主题

verilog 冒泡排序

[复制链接]
  • TA的每日心情
    开心
    2019-11-19 15:19
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2019-5-30 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    verilog 冒泡排序
    + U( \9 k! z( A8 B. Q# q; F7 c! V

    + P4 V* O# ?; n/ V" C; r  module maopao_sort(
    : y! L7 ~$ M" c1 a. y% e                  input         strobe,) t" G+ E# o  _  i2 }! ?
                      input         reset_n,
    7 B* ^6 D4 ~# p3 c4 w& ]- [% ]                  input [7:0]   data_in,, r" P- s' @& n8 k( p; [2 Q& Z9 Y
                      input         lval,
    0 t1 ~  u* }+ [, C) {' O                  output  [7:0] data_out,% T. ?7 a0 d  c: X7 O
                      output        sort_finish_en
    - X9 b6 H9 q! L2 J8 [                  );- [% i& q: h' l1 @! q' m
       parameter ARRAY_MAX_INDEX = 8;) G) _. q  `, e! t4 x
       reg [17:0] cnt;7 x# |1 Y* K+ m7 w
       always @(posedge strobe)' \: i- w' B& |$ l% N& d8 T
                 if(lval)
    & e6 x! i, l9 D9 u2 l2 t4 _5 Z' l                 cnt <= cnt +18'd1;
    $ q9 i+ j& U' G0 X# E. |7 D0 p             else% g3 Y; I5 }; _# g% x1 v8 \2 g
                    cnt <= 18'd0;6 z0 [9 j  z* }. \3 r) K
        reg   [7:0] data_in_d1;
    # G$ P. _. ~# \    reg         lval_d1;
    3 f4 J  T9 H" ?' B& b0 [    reg         lval_d2;
    ( i& c, i- M0 c0 o( n- Y) \5 L' |% m    reg [17:0]  cnt_d1;
    % ~2 m, ^. Y% \* m    always @(posedge strobe)
    & {, Z4 h" O' R- W8 x              begin' i# M2 d& u2 J) f7 r
                      lval_d1 <= lval;$ i9 ?: {. N( [/ S2 F& r
                      data_in_d1 <= data_in;
    , p  b$ j1 z9 R$ y1 n8 B0 X                  lval_d2 <= lval_d1;
    & t6 I: k9 W* E; N# ]0 v* X7 c. v                  cnt_d1 <= cnt;/ @5 h: p* c& d# b: h" T
                  end5 ?! {. u/ B& I6 i! l8 G' X" }' Z
        reg [7:0] med_data;
    + o- ?" i% J7 `7 N% E) x    always @(posedge strobe)) }5 h) J+ z. q' D
                  if(lval_d1): x  {, Y% i) C; H
                      begin
    9 |8 P: n' o- _  I                      if(cnt == 18'd1)
    & J/ V; V/ U; v& I& v9 g$ \: n7 H                          med_data <= data_in_d1;
    . U+ a$ ?$ i6 e                      else if(med_data >data_in_d1). c" |' [' g( i' k! ?
                                   med_data <= data_in_d1;( ]4 j- {' @: `# n
                          else) v" A% d0 g* }- @2 G4 h
                             med_data <= med_data;
    ! G6 ]- a4 t& x+ S$ F( B% L                  end
    # I0 T+ x' o  I( Y+ b1 j              else
    : B; U+ ]) ]  t, q* [# L4 M7 O                 med_data <= med_data;9 u3 p) X$ F* E2 W- `9 L
        assign data_out =(lval_d2 && cnt_d1 == ARRAY_MAX_INDEX)?med_data:8'd0;
      x% Z( u0 h9 N7 w+ B; B    assign sort_finish_en = (lval_d2 && cnt_d1 == ARRAY_MAX_INDEX)?1'b1:1'b0;3 @1 L* e; v1 R
       
      m8 u( G5 A% \4 |1 f9 D    endmodule

    该用户从未签到

    2#
    发表于 2019-5-30 18:01 | 只看该作者
    看到冒泡排序还真是怀念啊
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-12 07:16 , Processed in 0.109375 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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