需要一段verilog控制ad7492的程序

需要一段verilog控制ad7492的程序,第1张

module PAOMADENG(

    input          clk,

    input         rst_n,

    input         direction,

    output reg [7:0] deng

)

integer i

reg on_off

always @(posedge clk or negedge rst_n) begin

    if(rst_n==1'b0)

    on_off<= 8'b0

    else if((&deng==1'b1)||(|deng==1'b0))

        on_off <= ~on_off

end

   

always @(posedge clk or negedge rst_n) begin

    if(rst_n==1'b0)

    deng <= 8'b0

    else begin

    case(direction)

        0:begin

            deng[0] <= on_off

            for (i=0i<7i++)

                deng[i+1]<=deng[i]

        end

        1:begin

            deng[7] <= on_off

            for (i=7i>0i++)

                deng[i-1]<=deng[i]

        end

    endcase

    end

end

endmodule

 

右跑为例,依次如下

00000000

10000000

11000000

11100000

。。。

11111111

01111111

00111111

00011111

。。。

00000000

 

direction接开关,deng接8位led灯

不需要分析什么程序。。

你只要记住,FPGA里面的输入输出都是以FPGA的芯片为第一人称来讲的。只要记住就可以了。。

通俗讲就是芯片内部往外输出信号就是output,外面的信号往芯片内部输入就是input。

举个例子,你的主时钟50MHZ,是在芯片外面的晶振把信号输入进来,所以clk就是input。

外围的ic器件的分析都是一样的。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11112457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存