在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2611|回复: 4

一个奇怪的问题

[复制链接]
发表于 2003-11-4 20:38:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
--*************************************************
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
--*************************************************
entity fifo is
port(wr,clk,fsyn:in std_logic;
address:in std_logic_vector(1 downto 0);
datain:in std_logic_vector(3 downto 0);
dataout1ut std_logic_vector(15 downto 0);---------(1)
dataoutut std_logic
);
end fifo;
architecture a of fifo is
signal data,data1:std_logic_vector(15 downto 0);
begin
process(wr,address)
begin
if wr='1' then
case address is
when "00"=>data1(3 downto 0)<=datain;
when "01"=>data1(7 downto 4)<=datain;
when "10"=>data1(11 downto 8)<=datain;
when "11"=>data1(15 downto 12)<=datain;
when others=> null;
end case;
end if;
end process;
process(clk,fsyn)
begin
if fsyn='0' then
dataout1<=data1;-------(2)
data<=data1;
elsif clk'event and clk='1'then
data(0)<=data(1);
for i in 1 to 14 loop
data(i)<=data(i+1);
end loop;
end if;
end process;
dataout<=data(0);
end a;
当我加入标记为(1)和(2)的语句时dataout的输出就一切正常,但是当我去掉它们时dataout的输出就出错,其实(1)和(2)句是没什么用处的,我用的是max+plus,请问这是怎么回事?谢谢
发表于 2003-11-5 08:31:38 | 显示全部楼层

一个奇怪的问题

“dataout的输出就出错”,报的是什么?MP对VHDL的支持不是太好的,有可能是MP本身的问题。另外,process(wr,address)敏感表不全,少datain。
 楼主| 发表于 2003-11-5 09:02:19 | 显示全部楼层

一个奇怪的问题

第一个字节输出正确,剩下的字节开始出错,状态不定,我觉得process(wr,address)敏感表可以不用datain,写入时只需要对地址信号敏感就好了,在地址变化时写入而不是在数据变化时,因为正常操作时是按顺序写入,不会出现对同一地址连续写入的现象
发表于 2003-11-5 09:36:15 | 显示全部楼层

一个奇怪的问题

process(wr,address)本身是一个异步逻辑,在芯片内部实现时可能以任何方式存在,在你增加了认为无用的语句后,实际的布线逻辑可能满足你的逻辑要求,反之则可能出现毛刺从而造成逻辑混乱;一个好的同步逻辑最好所有的操作均在时钟沿操作,即所有的process的敏感表中只有rst和clk;
发表于 2003-11-6 17:02:20 | 显示全部楼层

一个奇怪的问题

    看程序是由组合逻辑和时序逻辑两种来写的,可能是process内组合逻辑造成的吧,组合逻辑会出现毛刺,一般情况下尽量不要用组合逻辑来设计,可能目前我们还没有这个功力
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-12 05:53 , Processed in 0.026138 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表