愤怒的匹诺曹 2015-04-09 10:17 采纳率: 50%
浏览 2872

VHDL,结构体中为并行语句,当没有进程块之类的时候,是不是当作顺序语句运行的?

architecture中如果没有process的时候是不是整个代码就是按顺序语句运行了?如

architecture rtl of process_test is
begin
c<='0';
end architecture rtl;

假如说结构体中有process的时候,整个代码就是按并行做了?如
architecture rtl of process_test is
begin
process (sel)
begin
if (sel = '1' ) then
c <= '1';
end if;
end process;
end architecture rtl;

所以下面的代码是不允许的
architecture rtl of process_test is
signal flag : integer := 0;
begin
c<='0';
process (sel)
begin
if (sel = '1' ) then
c <= '1';
end if;
end process;
end architecture rtl;

  • 写回答

1条回答 默认 最新

  • 愤怒的匹诺曹 2015-04-10 09:30
    关注

    这个问题我还是自己解决了,其实我后来明白这个是信号量的赋值问题,总结下。
    1.一个信号或端口只能在一个process或只能在architecture里面被赋值
    2.在architecture里面被赋值的话,赋值语句只能有一句,在process里面可以有多句,但不会立刻赋值,而是在进程这一轮结束的时候选取最后一次赋值语句作赋值
    3.如果有多个赋值语句,如s <= a + b;a <= y + 1;前面两句的执行顺序和书写顺序无关,和赋值依赖关系有关,AOE

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)