VerilogHDL8位串行乘法器的分析(2)

  关于8位串行乘法器的缺点,书上还提到一点,就是速度慢。具体分析串行乘法器的硬件结构,也就是存在逐步进位信号的传递所造成的延迟,就8位串行乘法器来说,请看如下的仿真图。

在此,笔者特意将2个变量,乘数与被乘数变化设定为8个时钟周期,这样,就可以清晰的看到并推得,N位串行乘法器由于其移位运算的需要,将有N个时钟延迟,即所谓的速度慢。

另外,需要注意的是,与C/C++语言类似,计数变量(此情况下用count计下8个时钟周期)和状态变量(用于case语句中不同情况)都需要给定初值,否则会出现不可预知的错误。仿真代码见下,供参考:

module ade_test;

    // Inputs
    reg clk;
    reg [7:0] x;
    reg [7:0] y;

    // Outputs
    wire [15:0] p;

    // Instantiate the Unit Under Test (UUT)
    ade uut (
        .clk(clk), 
        .x(x), 
        .y(y), 
        .p(p)
    );
    parameter clk_period = 20;
    initial begin
        // Initialize Inputs
        clk = 0;
        x = 0;
        y = 0;

        // Wait 100 ns for global reset to finish
        //#100;
     // x = 2;
        //y = 3;
        // Add stimulus here

    end
    always # (clk_period/2) clk = ~clk;
    always # (clk_period*8)    x = (x+3) % 10;
    always # (clk_period*8) y = (y+1) % 15;
      
endmodule

 

 

 

 

 

posted on 2013-07-27 13:45  Neal_Zh 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Nealse/p/3219443.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值