集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 7317|回复: 16

在mux+plus2里面 这段VHDL程序该怎么改~

[复制链接]
ups 发表于 2010-6-27 23:20:05 | 显示全部楼层 |阅读模式
在mux+plus2里面 这段VHDL程序该怎么改~
在mux+plus2里面 总提示Assignment error:sequential signal Assignment cannot contain
conditional waveforms
  以下是程序:
  library ieee;
  use ieee.std_logic_1164.all;
  entity mine1 is
  port(a,b,c,d:in std_logic_vector(3 downto 0);
   next1
       
ut std_logic_vector(3 downto 0));
  end mine1;
  architecture one of mine1 is
  begin
  process(a,b,c,d)
  begin
   next1<=(1,1,0,1)when a=1101and b=1101else
   d when a=1101 else
   c when b=1101 else
   (1,0,1,1);
  end process;
  end one;
CHANG 发表于 2010-6-28 01:05:20 | 显示全部楼层
把进程process去掉<br>
next1&lt;=(&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;0&rsquo;,&rsquo;1&rsquo;)when a=&ldquo;1101&ldquo;and b=&ldquo;1101&ldquo;else<br>
   d when a=&ldquo;1101&ldquo; else<br>
   c when b=&ldquo;1101&ldquo; else<br>
   (&rsquo;1&rsquo;,&rsquo;0&rsquo;,&rsquo;1&rsquo;,&rsquo;1&rsquo;);
VVIC 发表于 2010-6-28 01:18:20 | 显示全部楼层
楼上的说的有道理!
AAT 发表于 2010-6-28 01:56:24 | 显示全部楼层
楼上的有道理
ngtim 发表于 2010-6-28 03:30:12 | 显示全部楼层
next1&lt;=(&rsquo;1&rsquo;,&rsquo;1&rsquo;,&rsquo;0&rsquo;,&rsquo;1&rsquo;)?<br>
直接 next1 &lt;= "1101"不好嘛<br>
<br>
next1 &lt;= "1101"更好了 只是当时不知道哪错了 还以为赋值是出错了呢<br>
<br>
谢谢朋友们&nbsp;&nbsp;通过了 <br>
刚开始学 对并行和顺序语句 还不是很敏感&nbsp;&nbsp;这次记忆深刻了
ngtim 发表于 2010-6-28 03:57:37 | 显示全部楼层
process必须去掉吗?<br>
我觉得好象必须要一样呢<br>
我是新手,还希望大家指教
CHAN 发表于 2010-6-28 05:16:40 | 显示全部楼层
说点实际的!!!process不必要去掉!!
ATA 发表于 2010-6-28 05:35:55 | 显示全部楼层
自己写得时候只觉得不加process是惯例,原来是因为是并行语句阿,学习了,谢谢。
UFO 发表于 2010-6-28 06:23:14 | 显示全部楼层
受教了谢谢
CCIE 发表于 2010-6-28 06:41:24 | 显示全部楼层
process语句中是顺序执行的,无法加入when语句吧
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-25 00:56 , Processed in 0.068388 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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