一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 3453|回复: 2

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

[复制链接]
发表于 2014-8-10 21:50 | 显示全部楼层 |阅读模式
代码如下:
* }& r3 v7 i  x5 `" H// decoder 3 to 8 decoder with an enable control;1 P5 A* O4 k/ |. h, A
module decoder ( y , en , a );4 L- G4 D1 ^* `+ V4 v' m
output [ 7:0 ] y;   // 八位输出6 L: k& a- N7 W" I* G8 S3 P; n$ e
input en;    // 使能端
" w. e/ K& X/ X. _input [ 2:0 ] a;   // 三位地址端
; D* W0 h4 o3 o5 R2 m/ [
4 p1 R# J' y- E6 B4 u- sreg [ 7:0 ] y;7 b" R7 q6 y! V% ^( X
always @ ( en or a )
$ ^2 \1 Q, i$ K% K% p; T  B, i        if ( en )! D% F5 [4 g. t
                case ( a ). M. z% T, x+ A( L! E; M  y
                        3'b000 : y = 8'b1111_1110;
4 ^( E; Y- z# Y! L                        3'b001 : y = 8'b1111_1101;  t9 ?- V4 U& K2 I" B# O  u
                        3'b010 : y = 8'b1111_1011;
8 U& p  |9 U# N) ?+ I* A                        3'b011 : y = 8'b1111_0111;3 ?+ g' H, @6 t$ [/ m8 X' X! v
                        3'b100 : y = 8'b1110_1111;5 v0 u8 ]% I. x0 [: \
                        3'b101 : y = 8'b1101_1111;% F: \" A1 ~8 e2 X/ p
                        3'b110 : y = 8'b1011_1111;- {6 s4 V5 Q% h* m7 C
                        3'b111 : y = 8'b0111_1111;9 p) E( m+ \# ?, ], \2 K
                        default : y = 8'b1111_1111;( M" A$ z1 {& w# l
                endcase7 V+ M& Y- @  n+ w5 ?
        else
5 x5 p% ]* }7 |4 f                y = 8'b1111_1111;: X( l0 s, g; H$ G7 @+ ]* @  ?- [* I- @
       
- j" L0 C& x9 Q  u$ ~0 C) oendmodule // end of decoder;
, M( C. u* d, e1 |7 e* q; v5 N) {- a9 \3 |3 h7 Z6 K: B% t% s
产生的波形文件见下图。9 V/ C) P" e9 p+ q9 @
本来应该是,en=1,a=000的时候,输出y=1111_1110;结果y=1111_1110却跑到a=001的时候去了。。。。。
1 r/ b" \, L8 Q. @+ V: z% Y8 E本人小白,刚学verilog hdl,写一个3-8译码器就出错了,还望各位大哥大姐多多指教!

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

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

使用道具 举报

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

使用道具 举报

本版积分规则

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

GMT+8, 2025-8-20 12:04 , Processed in 0.032561 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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