一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 3611|回复: 2

用quartusII编程3-8译码器,时序仿真出错,类似延迟,求指教

[复制链接]
发表于 2014-8-10 21:50 | 显示全部楼层 |阅读模式
代码如下:  s) M$ v  D# ]& t! m$ _# }
// decoder 3 to 8 decoder with an enable control;
/ q( j; }% x+ [' c8 S6 f% n) Kmodule decoder ( y , en , a );9 ?- J) M2 h. D0 r7 W  i3 I- K! n+ @
output [ 7:0 ] y;   // 八位输出
; Z- U9 a- V- m6 ]input en;    // 使能端
  w3 ?* a9 i. t; U0 |input [ 2:0 ] a;   // 三位地址端# O: g3 J  n' a

2 \. }0 R* t& c. \5 _reg [ 7:0 ] y;
* C5 h# b, E( S7 Q& d1 Ualways @ ( en or a )* |+ i6 P# A1 P* S2 S
        if ( en )$ N5 o; Y. [+ B' C7 L
                case ( a )
& n$ x8 y- o) p$ @1 X                        3'b000 : y = 8'b1111_1110;9 x1 m8 ?4 L. j' z* ~
                        3'b001 : y = 8'b1111_1101;
/ o. m9 \; _/ Z! S2 b                        3'b010 : y = 8'b1111_1011;( q5 M4 [. T% P; `# s+ l
                        3'b011 : y = 8'b1111_0111;5 u/ L$ I5 H- x% ?
                        3'b100 : y = 8'b1110_1111;+ b. f3 j2 g/ `2 v9 p. ~
                        3'b101 : y = 8'b1101_1111;
5 A* I5 }% F) A! A. h; Y                        3'b110 : y = 8'b1011_1111;
% t' z# S0 Q& h4 c" }: \                        3'b111 : y = 8'b0111_1111;# ]2 W2 I( z, G* O  [
                        default : y = 8'b1111_1111;2 D+ z5 O; J) ]
                endcase, @, a) @3 R; l6 @0 A
        else
; c9 J" K( S. @  v/ S                y = 8'b1111_1111;$ N! H5 P. Z- T$ \5 C6 w
       
0 B5 l1 Y; S- J; f9 K$ L$ |+ L8 Qendmodule // end of decoder;
+ o3 H8 Q# y0 C3 v) ?% |; f: t# |; a$ T
产生的波形文件见下图。5 I* g0 K! M0 ?  D; f8 ^8 L. g
本来应该是,en=1,a=000的时候,输出y=1111_1110;结果y=1111_1110却跑到a=001的时候去了。。。。。0 I( e/ Q5 b: [* |" d
本人小白,刚学verilog hdl,写一个3-8译码器就出错了,还望各位大哥大姐多多指教!

结果像产生了延迟了一样。

结果像产生了延迟了一样。
发表于 2014-8-11 12:01 | 显示全部楼层
看了你一下这个写法不怎么好!暂时不说你输出延迟的问题,单单你从输出的部分已有好多的毛刺了。这是不允许的,解决的办法是用寄存器,还有尽量不能用always @ ( en or a ) 这样的写法,你可以用always @(posedge en )- B( i* v3 n6 T- ^6 E
还有a作为输入的判断不怎么好,不建议这样写,还有最好加复位REST。推荐的写法是用状态机,决不会产生你这样的延迟和毛刺。
回复

使用道具 举报

发表于 2014-8-11 12:05 | 显示全部楼层
状态机你从我发的帖子上找,不能全部相信国内书的写法,好多是误导人的,状态机是最适合VERILG上用的。
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-10-28 00:53 , Processed in 0.030964 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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