vhdl 16位二进制计数器不能计数

mining2022-10-04 11:39:541条回答

vhdl 16位二进制计数器不能计数
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY counter16 IS
PORT(
CLK,RST,EN,SET:IN STD_LOGIC;
CHOOSE:IN BIT;
SETDATA:IN STD_LOGIC_VECTOR(15 DOWNTO 0);
COUT:OUT STD_LOGIC_VECTOR(15 DOWNTO 0)
);
END counter16;
ARCHITECTURE ONE OF counter16 IS
SIGNAL Q1:STD_LOGIC_VECTOR(15 DOWNTO 0);
BEGIN
PROCESS(CLK,RST,SETDATA,EN,CHOOSE,SET,Q1)
BEGIN
IF RST='1' THEN --qingling
Q1

已提交,审核后显示!提交回复

共1条回复
sssxxxwww 共回答了15个问题 | 采纳率86.7%
1,你说的这个问题只会出现在仿真里,因为VHDL是硬件语言,你用VHDL语句赋的初值没用.所以,仿真中要想实现理想效果,需要:计数之前先reset,把计数初值设为0;置数之前把SETDATA值在仿真激励文件中给出来.
2,你所用器件不同,使用的软件就不同,一般软件是供应商提供的,可以试试下载最新版本,另外,就是养成良好的变成习惯.
1年前

相关推荐

利用二进制计数器和有源晶振,设计时钟电路时:60秒计数,从个位到十位的周期实际上总多1秒
利用二进制计数器和有源晶振,设计时钟电路时:60秒计数,从个位到十位的周期实际上总多1秒
60秒计数时,从0秒到9秒、从10秒到19秒、从20到29秒、从30到39秒、从40秒到49秒、从50到59秒的周期总是多了1秒(即11秒),用秒表测量表明在0、10、20、30、40、50各持续时间是2秒.不知道是什么原因.(附图是我的设计图)
特级厨师1年前1
娃娃笑笑 共回答了13个问题 | 采纳率84.6%
我这看不到线路图,只从你说的情况上出的现象给你分析一下,从你所说,你可能用的是十进制计数集成块,那你就再仔细看一下进位线路的连接,我认为主是个位到十位进位信号不同步而造成,你再细看一下芯片的脉冲工作要求,(指上升沿或下降沿是谁效)有可能你要用再加一片非芯片或与门芯片,让十位工作面延迟到个进位信号后或数到九时在下一个时间钟信号一到时把个位置为零的同时为十位打一个脉冲,让个位十位二片芯片能同时完成,这就会OK!
以同步二进制计数器74161为核心设计一个模十计数器!谢谢各位大侠!很急的!
以同步二进制计数器74161为核心设计一个模十计数器!谢谢各位大侠!很急的!
以同步二进制计数器74161为核心设计一个模十计数器!要求计数器按下列规律计数0,1,3,5,7,9,2,4,6,8,0,1,3.并要求1:具有开机清零功能!2:写出设计过程!(电路设计可以加门和MSI组合逻辑电路)!
心儿永相随1年前1
kowinchan 共回答了17个问题 | 采纳率100%
http://open.baidu.com/static/calculator/calculator.html