完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
仿真工具:Vivado 2015.1 目标器件:xc7a100tfgg484-2
仿真代码: module test_sim( ); reg sys_clk; reg rst_n; reg [7:0] a; reg [7:0] b; reg [8:0] c; reg [9:0] d; reg [17:0] e; reg [7:0] temp1; reg [17:0] temp2; wire[17:0] mult_out; initial begin sys_clk = 0; rst_n = 0; #30 rst_n = 1; a = 'd54; b = 'd1; d = 'h1e0; end always #5 sys_clk = ~sys_clk; mult_test mult_test ( .CLK(sys_clk), .A((~c[7:0]) + 8'b0000_0001), .B(d), .P(mult_out) ); always @(posedge sys_clk) begin a <= a+'d1; b <= b+ 'd2; c <= {1'b0,a} - {1'b0,b}; temp1 <= ((~c[7:0]) + 8'b0000_0001); temp2 <= ((~c[7:0]) + 8'b0000_0001) * d; e <= c[8]? (((~c[7:0]) + 8'b0000_0001) * d) : (c[7:0] * d); end endmodule 仿真波形截图: 可见:当a为3c,b为0d时,c <= {1'b0,a} - {1'b0,b};得到2f;延一拍,temp1的值为d1(取反加1的结果) d1 * 1e0 = 187e0,IP输出的结果mult_out正确,temp2得到值3a7e0,错误。所以,涉及到负数乘法处理时,用IP较好。
|
|
|
相关推荐
|
|
|
FPGA实现乘法运算(直接用符号*和用IP的区别) 学习了
|
|
|
|
|
|
|
|
NVMe高速传输之摆脱XDMA设计51:主要功能测试结果与分析3 nvmePCIe高速存储 PCIe高速存储
230 浏览 0 评论
NVMe高速传输之摆脱XDMA设计50:主要功能测试结果与分析2 nvmePCIe高速存储
378 浏览 0 评论
NVMe高速传输之摆脱XDMA设计49:主要功能测试结果与分析1
1509 浏览 0 评论
935 浏览 0 评论
876 浏览 0 评论
4430 浏览 63 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 09:34 , Processed in 0.624928 second(s), Total 67, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖