微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 模块中的function能否改写成always块?

模块中的function能否改写成always块?

时间:10-02 整理:3721RD 点击:
模块中有个function用于根据不同的输入来配置控制字寄存器cmd_data:


该function在模块内一个always块中被调用:




现要求改写该function,试过两种方法,
第一种是将function改成电平触发的always块:
always@(index or rx_freq_divider or rx_freq_integer...)
    begin
       case(index)
              12'd0: cmd_data = {1'b1, 10'h000, 8'h42};
              ……
       endcase
    end
然后原调用直接改成cmd <= cmd_data;
第二种是把原function中的case块放到原调用处,case块中的cmd_data用cmd代替。
改完下板测试,这两种改法好像都造成接收机无法正常工作。请问怎么改才是正确的做法?谢谢!

不能把这个function改成一个module

第一种改法,状态机增加一个状态,先把index输出,然后下一个状态再把cmd_data赋给cmd

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

网站地图

Top