微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > vhdl中的敏感信号列表如何确定

vhdl中的敏感信号列表如何确定

时间:10-02 整理:3721RD 点击:
比如我想写个打一拍的程序,输入信号为design_in,打一拍后是design_in_ff1。
如果我用verilog写是这样的
always @(posedge clk_sys or negedge rst_n)
begin
     if (rst_n == 1'b0)
         design_in_ff1 <= 1'b0;
     else
         design_in_ff1 <= design_in;
end
但是用vhdl写的时候,比如我这样写
d_ff11: process (clk_sys, rst_n) is
begin
      if rst_n = '0' then
          design_in_ff1 <= '0';
      elsif rising_edge(clk) then
          design_in_ff1 <= design_in;
      endif
end
我是否需要吧design_in放到敏感信号列表中呢?但是我只是检测复位信号或者时钟上升沿哦
达人帮帮忙

不用,同步逻辑,信号随时钟周期更新

不用。

PROCESS(CLR,CLK)
BEGIN
   
    IF CLR='1' THEN
       COUNTER1<=0;
       CLK_REG<='0';
    ELSIF CLK'EVENT AND CLK='1' THEN
       IF COUNTER1=N-1 THEN
          COUNTER1<=0;
          CLK_REG<=NOT CLK_REG;
       ELSIF COUNTER1=(N-1)/2 THEN
          COUNTER1<=COUNTER1+1;
          CLK_REG<=NOT CLK_REG;
       ELSE
            COUNTER1<=COUNTER1+1;
       END IF;
不用,时钟到来自己会更新的,你只要知道是同步或者异步即可。
    END IF;
END PROCESS;

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

网站地图

Top