完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 大帝成员组 于 2013-6-7 18:59 编辑
老师叫我用有128个宏单元的cpld做一个8bit*8bit的实验,可是我编好程序之后说宏单元超了,怎么破啊 下面是我的程序,见笑了: module test(L,sw,sw1,clk,segment) input clk; input [1:8]sw,sw1;//两个拨码开关,要相乘 output [1:8]L,segment;//动态显示控制变量 wire [7:0]decode[10]; wire [3:0]flag[8];//保存拨码开关乘积 reg [15:0] Count;//动态显示计时 /*led显示码*/ assign decode[0]=8'b11111100; assign decode[1]=8'b01100000; assign decode[2]=8'b11011010; assign decode[3]=8'b11110010; assign decode[4]=8'b01100110; assign decode[5]=8'b10110110; assign decode[6]=8'b10111110; assign decode[7]=8'b11100000; assign decode[8]=8'b11111110; assign decode[9]=8'b11110110; assign segment=decode[flag[Count[13:11]]]; assign L=8'd1< assign flag[6]=0; assign flag[5]=0; assign flag[4]=(sw*sw1)/10000; assign flag[3]=(sw*sw1)%10000/1000; assign flag[2]=(sw*sw1)%1000/100; assign flag[1]=(sw*sw1)%100/10; assign flag[0]=(sw*sw1)%10; always @(posedge clk) begin Count<=Count+1; end endmodule |
|
相关推荐
5个回答
|
|
|
|
|
|
assign flag[4]=(sw*sw1)/10000;
assign flag[3]=(sw*sw1)%10000/1000; assign flag[2]=(sw*sw1)%1000/100; assign flag[1]=(sw*sw1)%100/10; assign flag[0]=(sw*sw1)%10; 这段代码直观但是要占用很多逻辑单元的,建议采用移位的方法直接求结果 我记得网上应该有相应代码的 |
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求FPGA 驱动控制ltc2271 或者 ltc2180 或者 ltc2190或者 ltc2202 的代码
1016 浏览 0 评论
369 浏览 0 评论
求助:遇见诡异问题,FPGA模块A输出端口连接模块B输入后,模块A不能正常工作的
1184 浏览 1 评论
422 浏览 0 评论
1133 浏览 1 评论
4018 浏览 91 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-7 22:17 , Processed in 0.484147 second(s), Total 52, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号