集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3165|回复: 7

verilog代码请大家来看看问题出在哪?

[复制链接]
longt 发表于 2010-6-26 02:23:46 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-7-12 11:26 编辑

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
-----------------------
ENTITY e_1 IS
PORT(CLK:IN STD_LOGIC;
RET:IN STD_LOGIC;
CLK_OUT:OUT STD_LOGIC);
END;
------------------
ARCHITECTURE ONE OF e_1 IS
SIGNAL COUNT:INTEGER RANGE 0 TO 3;
SIGNAL C_OUT:STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IF RET='1' THEN
COUNT<=0;
CLK_OUT<='1';
ELSIF CLK'EVENT AND CLK='1'THEN
IF COUNT=3 THEN
COUNT<=0;
CLK_OUT<='1';
ELSE
COUNT<=COUNT+1;
C_OUT<='0';
END IF;
END IF;
END PROCESS;
CLK_OUT <= 'Z' when c_out = '0' else
      '1';
END;
为什么以上代码可以实现高阻态呢?而下面的代码就不可以了呢?
同样仿真通过!为什么没有高阻,,高手分析下~~
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
-----------------------
ENTITY e_1 IS
PORT(CLK:IN STD_LOGIC;
RET:IN STD_LOGIC;
CLK_OUT:OUT STD_LOGIC);
END;
------------------
ARCHITECTURE ONE OF e_1 IS
SIGNAL COUNT:INTEGER RANGE 0 TO 3;
BEGIN
PROCESS(CLK)
BEGIN
IF RET='1' THEN
COUNT<=0;
CLK_OUT<='1';
ELSIF CLK'EVENT AND CLK='1'THEN
IF COUNT=3 THEN
COUNT<=0;
CLK_OUT<='1';
ELSE
COUNT<=COUNT+1;
CLK_OUT<='Z';
END IF;
END IF;
END PROCESS;
END;
encounter 发表于 2010-6-26 03:24:34 | 显示全部楼层
在quartus2 6.0 里对这两个程序做了仿真,第2个可以实现高阻<br>
第一个有error 将process里的clk_out改成c_out后消除了错误,仿真结果与第2个相同,都能实现高阻....原帖由 一点不通 于 2006-10-18 21:22 发表<br>
LIBRARY IEEE;<br>
USE IEEE.STD_LOGIC_1164.ALL;<br>
-----------------------<br>
ENTITY e_1 IS<br>
PORT(CLK:IN STD_LOGIC;<br>
&nbsp; &nbsp;&nbsp;&nbsp;RET:IN STD_LOGIC;<br>
&nbsp; &nbsp;&nbsp;&nbsp;CLK_OUT:OUT STD_LOGIC);<br>
END;<br>
------------------<br>
ARCHITEC ...
ICE 发表于 2010-6-26 05:02:03 | 显示全部楼层
哦,,您改的大概是我打的时候打错拉,我用第二个在maxplusii可以通过编译但是不出现高阻,q5可以出现高阻么?我的电脑重新专了系统,没有q5拉谢谢你了,那m2 不出现高阻的原因有哪些?是我的软件有问题吗?
CHANG 发表于 2010-6-26 06:24:09 | 显示全部楼层
原帖由 一点不通 于 2006-10-19 20:02 发表<br>
哦,,您改的大概是我打的时候打错拉,我用第二个在maxplusii可以通过编译但是不出现高阻,q5可以出现高阻么?我的电脑重新专了系统,没有q5拉谢谢你了,那m2 不出现高阻的原因有哪些?是我的软件有问题吗? max做仿真时,有时会出些问题,是由软件自身造成的,用quartus好些
CHANG 发表于 2010-6-26 06:59:29 | 显示全部楼层
恩谢谢!!!
interig 发表于 2010-6-26 07:03:17 | 显示全部楼层
支持二楼的说法
VVIC 发表于 2010-6-26 07:47:11 | 显示全部楼层
还是换软件吧
Sunlife 发表于 2015-6-17 11:45:16 | 显示全部楼层
在quartus2 6.0 里对这两个程序做了仿真,第2个可以实现高阻<br>
第一个有error 将process里的clk_out改成c_out后消除了错误,仿真结果与第2个相同,都能实现高阻....原帖由 一点不通 于 2006-10-18 21:22 发表<br>
LIBRARY IEEE;<br>
USE IEEE.STD_LOGIC_1164.ALL;<br>
-----------------------<br>
ENTITY e_1 IS<br>
PORT(CLK:IN STD_LOGIC;<br>
&nbsp; &nbsp;&nbsp;&nbsp;RET:IN STD_LOGIC;<br>
&nbsp; &nbsp;&nbsp;&nbsp;CLK_OUT:OUT STD_LOGIC);<br>
END;<br>
------------------<br>
ARCHITEC ...
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-6-26 16:46 , Processed in 0.070465 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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