收藏此站 联系我们 网站
当前位置:首页» 行业网站案例 » 【建站服务】三亚做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式-域名申请

【建站服务】三亚做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式-域名申请

作者: 风兰 . 阅读量: 16 . 发表时间:2022-09-21 03:09:56

网站建设

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


三亚做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式

网站建设.png

和洗衣服过程类似,数据的处理路径也可以看作是一条生产线,路径上的每个数字处理单元都可以看作是一个阶段,会产生延时。

流水线设计就是将路径系统的分割成一个个数字处理单元(阶段),并在各个处理单元之间插入寄存器来暂存中间阶段的数据。被分割的单元能够按阶段并行的执行,相互间没有影响。所以最后流水线设计能够提高数据的吞吐率,即提高数据的处理速度。

流水线设计的缺点就是,各个处理阶段都需要增加寄存器保存中间计算状态,而且多条指令并行执行,势必会导致功耗增加。

下面,设计一个乘法器,并对是否采用流水线设计进行对比。


一般乘法器设计

前言

也许有人会问,直接用乘号 * 来完成 2 个数的相乘不是更快更简单吗?

如果你有这个疑问,说明你对硬件描述语言的认知还有所不足。就像之前所说,Verilog 描述的是硬件电路,直接用乘号完成相乘过程,编译器在编译的时候也会把这个乘法表达式映射成默认的乘法器,但其构造不得而知。

例如,在 FPGA 设计中,可以直接调用 IP 核来生成一个高性能的乘法器。在位宽较小的时候,一个周期内就可以输出结果,位宽较大时也可以流水输出。在能满足要求的前提下,可以谨慎的用 * 或直接调用 IP 来完成乘法运算。

但乘法器 IP 也有很多的缺陷,例如位宽的限制,未知的时序等。尤其使用乘号,会为数字设计的不确定性埋下很大的隐瞒。

很多时候,常数的乘法都会用移位相加的形式实现,例如:

实例

= A<<1 ;       //完成A * 2
= (A<<1) + A ;   //对应A * 3
= (A<<3) + (A<<2) + (A<<1) + A ; //对应A * 15

用一个移位寄存器和一个加法器就能完成乘以 3 的操作。但是乘以 15 时就需要 3 个移位寄存器和 3 个加法器(当然乘以 15 可以用移位相减的方式)。

有时候数字电路在一个周期内并不能够完成多个变量同时相加的操作。所以数字设计中,最保险的加法操作是同一时刻只对 2 个数据进行加法运算,最差设计是同一时刻对 4 个及以上的数据进行加法运算。

如果设计中有同时对 4 个数据进行加法运算的操作设计,那么此部分设计就会有危险,可能导致时序不满足。

此时,设计参数可配、时序可控的流水线式乘法器就显得有必要了。


3) + (A<<2) + (A<<1) + A ; //对应A * 15

用一个移位寄存器和一个加法器就能完成乘以 3 的操作。但是乘以 15 时就需要 3 个移位寄存器和 3 个加法器(当然乘以 15 可以用移位相减的方式)。


有时候数字电路在一个周期内并不能够完成多个变量同时相加的操作。所以数字设计中,最保险的加法操作是同一时刻只对 2 个数据进行加法运算,最差设计是同一时刻对 4 个及以上的数据进行加法运算。


如果设计中有同时对 4 个数据进行加法运算的操作设计,那么此部分设计就会有危险,可能导致时序不满足。


此时,设计参数可配、时序可控的流水线式乘法器就显得有必要了。


设计原理


和十进制乘法类似,计算 13 与 5 的相乘过程如下所示:




由此可知,被乘数按照乘数对应 bit 位进行移位累加,便可完成相乘的过程。


假设每个周期只能完成一次累加,那么一次乘法计算时间最少的时钟数恰好是乘数的位宽。所以建议,将位宽窄的数当做乘数,此时计算周期短。


乘法器设计


考虑每次乘法运算只能输出一个结果(非流水线设计),设计代码如下。


实例

module    mult_low

    #(parameter N=4,

      parameter M=4)

     (

      input                     clk,

      input                     rstn,

      input                     data_rdy ,  //数据输入使能

      input [N-1:0]             mult1,      //被乘数

      input [M-1:0]             mult2,      //乘数


      output                    res_rdy ,   //数据输出使能

      output [N+M-1:0]          res         //乘法结果

      );


    //calculate counter

    reg [31:0]           cnt ;

    //乘法周期计数器

    wire [31:0]          cnt_temp = (cnt == M)? 'b0 : cnt + 1'b1 ;

    always @(posedge clk or negedge rstn) begin

        if (!rstn) begin

            cnt    <= 'b0 ;

        end

        else if (data_rdy) begin    //数据使能时开始计数

            cnt    <= cnt_temp ;

        end

        else if (cnt != 0 ) begin  //防止输入使能端持续时间过短

            cnt    <= cnt_temp ;

        end

        else begin

            cnt    <= 'b0 ;

        end

    end


    //multiply

    reg [M-1:0]          mult2_shift ;

    reg [M+N-1:0]        mult1_shift ;

    reg [M+N-1:0]        mult1_acc ;

    always @(posedge clk or negedge rstn) begin


三亚做网站/制作网站/搭建网站/设计网站/开发网站-网站服务一站式


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

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


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务