微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > function函数的问题

function函数的问题

时间:10-02 整理:3721RD 点击:
最近在整一个Nexys3开发板驱动12864的程序,用ise编译没有出错,但是就是不显示字(我用到了function函数),后来我有单独写了一个function的程序,发现编译通过了,但是没有预期的效果。程序如下:

module function1(
    input wire clk,
         input wire rst,
         output reg[7:0]Led
    );
         
    function [7:0]fuc;
           input[3:0]adress;
                 begin
                   case(adress)
                          4'b0000:fuc=8'h00;
                          4'b0001:fuc=8'h01;
                          4'b0010:fuc=8'h02;
                          4'b0011:fuc=8'h04;
                          4'b0100:fuc=8'h08;
                          4'b0101:fuc=8'h10;
                          4'b0110:fuc=8'h20;
                          4'b0111:fuc=8'h40;
                          4'b1000:fuc=8'h80;
                          default:fuc=8'h00;
                        endcase
                 end
         endfunction
         
    reg[7:0]cnt;
    always@(posedge clk or negedge rst)
             if(!rst)
                   cnt<=0;
                 else
                   cnt<=cnt+1'b1;
         

         reg clkf;

         always@(posedge clk or negedge rst)
           if(!rst)
                  begin
                    clkf<=0;
                  end
                else
                  if(cnt==8'b1111_0000)
                    clkf<=~clkf;

         reg[3:0]adr;
         always@(posedge clkf or negedge rst)
           if(!rst)
                  begin
                    Led<=8'b0;
                         adr<=4'b0;
                  end
                else
                  begin
                    Led<=fuc(adr);
                         adr<=adr+1'b1;
                  end
                  
endmodule

(注:这是一个调用function函数使开发板上的八个灯依次点亮的程序。引脚连接没问题)
求教,为什么没有预期的效果,原因在哪,查找了半天都不知道错在哪undefinedundefinedundefined在线等!

你说的没有达到预想的效果,那现在是什么样的现象?

调用function函数使开发板上的八个灯依次点亮

不明白你的意思!

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

网站地图

Top