搜索
bottom↓
回复: 5

求思路,想不通...VHDL新手帖

[复制链接]

出0入0汤圆

发表于 2011-5-19 20:17:51 | 显示全部楼层 |阅读模式
假设:
按键A控制ABC数码管显示1~100
按键B控制XYZ三位数码管,每当B按下时候,数码管XYZ要和数码管ABC显示的数字相加,并把结果显示在XYZ上.(暂时不考虑溢出)

首先把ABC里的值分别signal一下
然后判断B是否按下,然后用case么??觉得这样重复性的代码很多,每一个Case里都要做几遍加法...每个case里还要有很多判断...

觉得很浪费资源,高人指点一下..

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-5-19 21:10:23 | 显示全部楼层
思路如下:
1. M=ABC,百位十进制
2. N=XYZ:=0;百位十进制;
3. 按A,M=M+1;
4. 按B时,N=M+N;
5. 十进制加法子程序带进位(调用)
6. 十进制转BCD码数码管子程序(调用);

出0入0汤圆

 楼主| 发表于 2011-5-19 21:35:55 | 显示全部楼层
回复【1楼】hawkflyking
-----------------------------------------------------------------------

你好,在表示一个范围之内的数的时候如ABC,integer是不是要比A:std_logic_Vector(3 downto 0);B:std_logic_Vector(3 downto 0);C:std_logic_Vector(3 downto 0);浪费资源呢?

出0入0汤圆

发表于 2011-5-19 21:41:00 | 显示全部楼层
一般情况是如你所说。但是用integer增加可读性,你可以自己写个std_logic_Vector转整数的子程序。1~10是十种状态。

出0入0汤圆

 楼主| 发表于 2011-5-19 21:46:48 | 显示全部楼层
回复【3楼】hawkflyking
-----------------------------------------------------------------------

哦,慢慢看书吧,啃了不行再啃一遍...

出0入0汤圆

 楼主| 发表于 2011-5-19 21:47:32 | 显示全部楼层
回复【3楼】hawkflyking
-----------------------------------------------------------------------

谢谢..
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 13:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表