您身边的网站建设专家
成功案例

【建站服务】专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-敦煌上往建站-域名申请

日期: 2022-09-21 03:16:45 浏览数:6


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-敦煌上往建站

网站建设.png

csn            <= 4'b1111;
            abcdefg        <= 'd0;
            scan_r         <= 3'd0;
        end
        else if (en) begin
            case(scan_r)
            2'd0:begin
                scan_r    <= 3'd1;
                csn       <= 4'b0111;     //select single digit
                abcdefg   <= dt_translate(single_digit);
            end
            2'd1:begin
                scan_r    <= 3'd2;
                csn       <= 4'b1011;     //select ten digit
                abcdefg   <= dt_translate(ten_digit);
            end
            2'd2:begin
                scan_r    <= 3'd3;
                csn       <= 4'b1101;     //select hundred digit
                abcdefg   <= dt_translate(hundred_digit);
            end
            2'd3:begin
                scan_r    <= 3'd0;
                csn       <= 4'b1110;     //select kilo digit
                abcdefg   <= dt_translate(kilo_digit);
            end
            endcase
        end
    end
 
    /*------------ translate function -------*/
    function [6:0] dt_translate;
        input [3:0]   data;
        begin
        case(data)
            4'd0: dt_translate = 7'b1111110;     //number 0 -> 0x7e
            4'd1: dt_translate = 7'b0110000;     //number 1 -> 0x30
            4'd2: dt_translate = 7'b1101101;     //number 2 -> 0x6d
            4'd3: dt_translate = 7'b1111001;     //number 3 -> 0x79
            4'd4: dt_translate = 7'b0110011;     //number 4 -> 0x33
            4'd5: dt_translate = 7'b1011011;     //number 5 -> 0x5b
            4'd6: dt_translate = 7'b1011111;     //number 6 -> 0x5f
            4'd7: dt_translate = 7'b1110000;     //number 7 -> 0x70
            4'd8: dt_translate = 7'b1111111;     //number 8 -> 0x7f
            4'd9: dt_translate = 7'b1111011;     //number 9 -> 0x7b
        endcase
        end
    endfunction
 
endmodule

仿真结果如下。

由图可知,片选、译码等信号,均符合设计。实际中,4 位数字应当在一定的时间内保持不变,而片选信号不停的循环扫描,数码管才能给肉眼呈现一种静态显示的效果。

ic 函数,实现阶乘计算:


实例

wire [31:0]          results3 = factorial(4);

function automatic   integer         factorial ;

    input integer     data ;

    integer           i ;

    begin

        factorial = (data>=2)? data * factorial(data-1) : 1 ;

    end

endfunction // factorial

下面是加关键字 automatic 和不加关键字 automatic 的仿真结果。


由图可知,信号 results3 得到了我们想要的结果,即 4 的阶乘。


而信号 results_noauto 值为 1,不是可预知的正常结果,这里不再做无用分析。




数码管译码

上述中涉及的相关函数知识似乎并没有体现出函数的优越性。下面设计一个 4 位 10 进制的数码管译码器,来说明函数可以简化代码的优点。


下图是一个数码管的实物图,可以用来显示 4 位十进制的数字。在比赛计分、时间计时等方面有着相当广泛的应用。




每位数码显示端有 8 个光亮控制端(如图中 a-g 所示),可以用来控制显示数字 0-9 。


而数码管有 4 个片选(如图中 1-4),用来控制此时哪一位数码显示端应该选通,即应该发光。倘若在很短的时间内,依次对 4 个数码显示端进行片选发光,同时在不同片选下给予不同的光亮控制(各对应 4 位十进制数字),那么在肉眼不能分辨的情况下,就达到了同时显示 4 位十进制数字的效果。




下面,我们用信号 abcdefg 来控制光亮控制端,用信号 csn 来控制片选,4 位 10 进制的数字个十百千位分别用 4 个 4bit 信号 single_digit, ten_digit, hundred_digit, kilo_digit 来表示,则一个数码管的显示设计可以描述如下:


实例

module digital_tube

     (

      input             clk ,

      input             rstn ,

      input             en ,

 

      input [3:0]       single_digit ,

      input [3:0]       ten_digit ,

      input [3:0]       hundred_digit ,

      input [3:0]       kilo_digit ,

 

      output reg [3:0]  csn , //chip select, low-available

      output reg [6:0]  abcdefg        //light control

      );

 

    reg [1:0]            scan_r ;  //scan_ctrl

    always @ (posedge clk or negedge rstn) begin

        if(!rstn)begin

            csn            <= 4'b1111;

            abcdefg        <= 'd0;

            scan_r         <= 3'd0;

        end

        else if (en) begin

            case(scan_r)

            2'd0:begin

                scan_r    <= 3'd1;

                csn       <= 4'b0111;     //select single digit

                abcdefg   <= dt_translate(single_digit);

            end

            2'd1:begin

                scan_r    <= 3'd2;

                csn       <= 4'b1011;     //select ten digit

                abcdefg   <= dt_translate(ten_digit);

            end

            2'd2:begin

                scan_r    <= 3'd3;

                csn       <= 4'b1101;     //select hundred digit

                abcdefg   <= dt_translate(hundred_digit);

            end




专业网站建设-网站设计-网站制作与网站开发-高端品牌企业宣传策划-敦煌上往建站


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站