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

任意分频器

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-12-6 07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
任意分频器
! |6 [0 I- ]4 F8 U9 f' @* O2 k; D+ _
module frequency_divider_mealy_fsm1s(clk_in, rst, clk_out);6 x5 a5 ~0 Q5 W$ B2 p
8 l: h1 J& j1 O8 V0 c
        parameter HW = 3;        //输出时钟高电平宽度0 o8 K6 e0 }3 d% T
        parameter LW = 2;        //输出时钟低电平宽度
! L& F8 j+ |# t- L# s7 }        
$ V4 z! ]: i: Z        input clk_in;
2 W+ m' B. u8 B  [" r' S        input rst;1 R; }$ q3 m1 |  \: P4 k! P9 D2 k+ R
        output clk_out;; C, s; E: z, I  u, [+ X. \
        
  n$ N' @. N7 A& Y9 L( x        `define s0 1'b0        //显式状态机
0 j' I) x: c5 k' R5 [        `define s1 1'b1
% [" {1 Q: Q8 x( n+ c4 L        & F# ]& j; m- {
        reg clk_out;
6 {  V! u- |% W* r$ @1 c        reg [31:0] count;' X- R7 r. ~# T
        reg state;
; L4 ?# i8 @; f* i        
2 I3 x% c( v- [$ ?! f% v  ^3 L        always @ (posedge clk_in)        # q( g5 R0 {! O8 i+ Q
        begin+ I: w# |& b7 g/ E/ G
                if (!rst)                        //同步复位0 k/ {# o" J/ W$ r7 q
                        begin4 y% d/ U' R, X& z
                                clk_out <= 1'b0;
6 @/ g6 s6 [# T- c) p                                count <= 0;) k5 i1 m, d$ m& A( d) _+ w
                                state <= `s0;
! e* M& o+ p8 u5 w+ ?                        end% V$ S. {1 E0 B1 S: d9 [. A
                else
7 U4 M8 U! @! f" u8 ?, c! y6 _                        case (state)
. [; \# D) ~1 R" e% M$ b7 n. e                                `s0        :        if (count < LW-1)
5 J& ~: l+ ~5 n; ?8 y' X                                                                begin! w, _; X' \" ]8 A  f1 j
                                                                        count <= count + 1;
9 I8 g7 E8 n$ @: P1 p2 R                                                                        state <= `s0;                //显式状态  H$ o* b; F3 l2 g; f5 M9 c( h
                                                                end! O# D3 i1 C/ K* B1 J; E1 |( T1 s
                                                        else7 k9 v4 y; L1 Q7 i: @2 A4 y# W
                                                                begin
2 Y0 Y! Y+ g% g. z: g                                                                        count <= 0;
% k3 G" k' v& W5 c                                                                        clk_out <= 1'b1;8 \/ J3 B0 n1 `/ p- D5 W) |( n
                                                                        state <= `s1;% T+ i* c& o  p- f
                                                                end
  a! G/ R" O0 Y3 `  U' g                                                                , T% S# r$ m) p! y# e1 g
                                `s1        :        if (count < HW-1)/ r9 F, o" ^9 ?, G5 g: [4 B; H( E
                                                                begin
+ N: W1 E) {4 B  b                                                                        count <= count + 1;4 ?9 i$ ^+ a  ?2 A
                                                                        state <= `s1;                //显式状态
: I5 Q( ]7 ~- Y                                                                end
9 }% r% x' h5 p7 b9 x3 P% `) M                                                        else! \- D3 k( b' z& S5 e2 Y' u
                                                                begin
  o( T5 C) {- [; h                                                                        count <= 0;
. D$ Z, a1 K  a, N$ w                                                                        clk_out <= 1'b0;
. s8 Y( L  y1 Z8 c3 \4 i/ S                                                                        state <= `s0;
# Y* p0 V( p8 W0 i5 i; m                                                                end
4 R9 g- N  l  b7 l                        endcase! Z; ?4 L1 `) T! B
        end; Z- f5 t7 |7 W2 o" F+ l  U
( R9 `0 U  C5 @4 ]! Q2 c0 F# z
endmodule
: A  U4 O( j, b; v% ~2 A, ~9 W2 D/ {
' V# ?8 e( a8 W' u! I4 H1 m
2 e0 O9 y: o; Q, ~* _% i9 H

1 d9 E6 x! p2 }& S# H1 K. \8 B" |1 f7 E" `" ]* n6 z

. ^; O$ Y6 C* K
  ~  p0 n7 J( L& c, S+ G
2 ]2 h; `6 z7 s8 `4 S* j
' _8 [! }/ @- S( p
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-23 21:16 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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