关于PROCESS语句中敏感量问题,求证。

2020-02-28 18:24发布

本帖最后由 lidake 于 2013-7-23 15:43 编辑

我是菜鸟问题比较基础,请大家指教。
问题一:
PROCESS(din)
BEGIN
     IF(clk'EVENT AND clk='1' ) THEN
         txd_data(txd_addw)<=din;
         txd_addw<=txd_addw+1;
     END IF;
END PROCESS;
这样一段代码,din是一组固定的数值,虽然process后面的敏感量中,我没有写出clk,但是实际情况中clk每次变化时,该process语句是否也会被触发,而执行呢?从而导致txd_addw不断的自加。有没有隐含的敏感量这一说法?
问题二:
ARCHITECTURE fun OF uart IS
   type memory is array(0 to 255)of std_logic_vector(7 downto 0);
   signal txd_data:memory;
   signal txd_addr:integer range 0 to 255;
   signal txd_addw:integer range 0 to 255;
   SIGNAL din_buf :STD_LOGIC_VECTOR ( 7 downto 0);
BEGIN
din_buf<="10101010";
    PROCESS(din_buf)
    BEGIN
              txd_data(txd_addw)<=din_buf;
              txd_addw<=txd_addw+1;
     END PROCESS;
END fun;
此代码中,din_buf是结构体中声明的一组8位宽度的信号量,我在结构体的BEGIN后,赋予固定的值“10101010”,我想问,这样写虽然每次din_buf的数值没有变,但是会不会不断的有赋值动作,而造成 以din_buf 为敏感量的PROCESS语句中的txd_addw不断的自加呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
18条回答
lidake
1楼-- · 2020-03-01 15:05
GoldSunMonkey 发表于 2013-7-24 20:57
为什么不给我分数

哎呀呀,猴哥,俺想给你了,可是人家字打的比你多,哈哈哈哈哈。下次多弄点分给你哦,表桑心哈。:lol
lidake
2楼-- · 2020-03-01 17:26
GoldSunMonkey 发表于 2013-7-24 20:57
我第一个回答的,而且是最根本的原因

猴哥,您的最根本的原因,对我这个还没入门的小鸟来说,太抽象了:'(
GoldSunMonkey
3楼-- · 2020-03-01 23:22
 精彩回答 2  元偷偷看……
GoldSunMonkey
4楼-- · 2020-03-02 03:55
lidake 发表于 2013-7-26 09:25
哎呀呀,猴哥,俺想给你了,可是人家字打的比你多,哈哈哈哈哈。下次多弄点分给你哦,表桑心哈。 ...

心都伤透了:'(
GoldSunMonkey
5楼-- · 2020-03-02 06:52
lidake 发表于 2013-7-26 09:34
猴哥,您的最根本的原因,对我这个还没入门的小鸟来说,太抽象了 ...

:kiss:
EDAbuffalo
6楼-- · 2020-03-02 10:50
yghanwuji 发表于 2013-7-23 23:30
敏感信号列表出现在process块中,其典型行为级的含义为:只要敏感信号列表内的信号发生电平变化,则proce ...

vhdL中如果敏感信号量不全,也能触发process?(process的敏感信号无,但是输入的信号和判断的信号都在process中使用了),大侠求解。。。

一周热门 更多>