4145|6

8

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求助。用VHDL语言设计74ls192中遇到的问题 [复制链接]


输入        输出
clr                cp1        cp2        q3        q2        q1        q0        d3        d2        d1        d0
1        ×        ×        ×        ×        ×        ×        ×        0        0        0        0
0        0        ×        ×        a        b        c        y        a        b        c        y
0        1                1        ×        ×        ×        ×        加计数
0        1        1                ×        ×        ×        ×        减计数
此帖出自FPGA/CPLD论坛

最新回复

找个功能明显是两个互斥的功能,或两个互斥的时钟驱动两个互斥的计数器。否则没法输出到同一个输出端口。 所以,你的设计确实一个关键控制信号,就是时钟使能信号。如果两个时钟同时生效,那么功能是无法实现的,同时生效意味着两个计数器同时由数据,只能输出到不同的输出端口。如果两个时钟分时有效,那么就可以实现你所谓的功能。  详情 回复 发表于 2014-7-29 09:51
点赞 关注
 

回复
举报

8

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_ARITH.all;
use IEEE.STD_LOGIC_UNSIGNED.all;
ENTITY LS192 IS
  port (clr,set,cp1,cp2 : in STD_LOGIC;
                 q : in STD_LOGIC_VECTOR(3DOWNTO 0);
                                 d: out STD_LOGIC_VECTOR(3DOWNTO 0);
                                 jinwei:out STD_LOGIC;
                                 jiewei:out STD_LOGIC);
end ENTITY LS192 ;

architecture behav of LS192 is
signal conut1_4 : STD_LOGIC_VECTOR(3DOWNTO 0);
signal conut2_4 : STD_LOGIC_VECTOR(3DOWNTO 0);

signal a1 : STD_LOGIC;
signal a2 : STD_LOGIC;
begin
process( clr,set,cp1,q)       --jifaqi
    begin

                if(clr='1')then      --qingling
                        conut1_4<="0000";
                        a1<='0';
                        jinwei<='0';
                 elsif(set='0')then   --zhishu
                        conut1_4(0)<=q(0);
                        conut1_4(1)<=q(1);
                        conut1_4(2)<=q(2);
                        conut1_4(3)<=q(3);
           elsif(cp1'event and cp1 = '1')then  --
                                if(conut1_4="1001")then
                                        conut1_4<="0000";
                                        a1<='1';
                                else
                                conut1_4<=conut1_4+1;
                                if(a1='1')then
                                        a1<='0';
                                end if;
                                end if;
        end if;
d(0)<=conut1_4(0) ;
d(1)<=conut1_4(1) ;
d(2)<=conut1_4(2) ;
d(3)<=conut1_4(3) ;
jinwei<=a1;
end process;
process( clr,set,cp2,q)       --jianfa
    begin
                if(clr='1')then      --qingling
                        conut2_4<="0000";
                        a2<='0';
                        jiewei<='0';
                 elsif(set='0')then   --zhishu
                        conut2_4(0)<=q(0);
                        conut2_4(1)<=q(1);
                        conut2_4(2)<=q(2);
                        conut2_4(3)<=q(3);
           elsif(cp2'event and cp2 = '1')then  --
                                if(conut2_4="0000")then
                                        conut2_4<="1001";
                                        a2<='1';
                                else
                                conut2_4<=conut2_4-1;
                                if(a2='1')then
                                        a2<='0';
                                end if;
                                end if;
        end if;
d(0)<=conut2_4(0) ;
d(1)<=conut2_4(1) ;
d(2)<=conut2_4(2) ;
d(3)<=conut2_4(3) ;
jiewei<=a2;
end process;
end architecture behav;
此帖出自FPGA/CPLD论坛
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
其功能是一个同步的十进制可逆计数器,具有双时钟输入,并有清除和置数等功能。

两个进程整合不到一块。。主要是:d(0)<=conut2_4(0) ;
d(1)<=conut2_4(1) ;
d(2)<=conut2_4(2) ;
d(3)<=conut2_4(3) ;
和d(0)<=conut1_4(0) ;
d(1)<=conut1_4(1) ;
d(2)<=conut1_4(2) ;
d(3)<=conut1_4(3) ;
d是输出,用led显示。这两个进程要怎么整合到一块
此帖出自FPGA/CPLD论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

4
 
求助,谢谢大神们···
此帖出自FPGA/CPLD论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

5
 
不是很明白,你只有一个d(3--0),你想输出8位数据?还是说你想加入个片选功能加法时输出加法结果减法输出减法结果。
此帖出自FPGA/CPLD论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

6
 
难道楼主是想要对同一个register做加法和减法?最后输出结果?
此帖出自FPGA/CPLD论坛
 
 
 

回复

372

帖子

0

TA的资源

一粒金砂(高级)

7
 
找个功能明显是两个互斥的功能,或两个互斥的时钟驱动两个互斥的计数器。否则没法输出到同一个输出端口。

所以,你的设计确实一个关键控制信号,就是时钟使能信号。如果两个时钟同时生效,那么功能是无法实现的,同时生效意味着两个计数器同时由数据,只能输出到不同的输出端口。如果两个时钟分时有效,那么就可以实现你所谓的功能。
此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表