微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 问一个关于VHDL不用event来表示时钟边沿的问题

问一个关于VHDL不用event来表示时钟边沿的问题

时间:10-02 整理:3721RD 点击:

vhdl中如何不用event来表示一个信号的时钟沿?能否用如下方式表示?

  1. process(sig)
  2. begin
  3.         sig2<=sig;
  4.         if sig2='0' and sig='1' then
  5.         --命令
  6.         end if;
  7. end process;

复制代码

已经三年不接触VHDL了,不能回答你,你自己试着综合下看看电路图就很清楚了。

我在板子上用了,不行,但从我理解来说是可以的,不知到底是什么原因

需要用时钟打才行

我觉得应该可以,现在应用程序,不能试,但之前写程序的时候我用过类似的方法

会不会是敏感信号的问题,这个的敏感信号是sig,应该sig在变化的时候进程就重新执行了吧

我是这样理解的:进程中赋值在进程执行结束后进行。那当sig由0变为1时,sig2<=sig在执行时还未发生变化,因此符合sig2='0'以及sig='1',因此if条件成立。但在实际运行时,似乎这个并不能运行,不知怎么回事?



   不行。这种方式取信号的沿,必须得用时钟打。

不懂VHDL



    但从VHDL进程赋值过程上说,没有问题啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top