试验一:16 进制加减计数器 一: 实验程序
实验要求:用 VHDL 语言设计一个 16 进制加减计数器,计数方向可以由外界输入信号控制,带有清零和置位,输出除了包括计数值外还应包括进位和借位
实验程序: 程序说明:clk:为时钟信号
cr:为清零信号
set:为置位信号
s:为加减计数的方向控制信号
cin:为置位输入信号,定义为 4 位的总线形式
Co:为进位信号
bo:为借位信号
q:为输出信号
功能说明:在进程p1 中:当有清零信号 cr,即 cr=1 时,计数器清零
当有置位信号时,将置入的数赋给信号 po
当有时钟的下降沿来时,并且加减方向控制信号 s 为 0 时,计数器做加法运算(如果一开机就是 4 位输出全高,则当时钟来LIBRARY IEEE; USE IEEE
STD_LOGIC_1164
ALL; USE IEEE
STD_LOGIC_UNSIGNED
ALL; ENTITY CNT16 IS PORT(clk,cr,set,s:IN std_logic; cin:IN std_logic_vector(3 DOWNTO 0); q:OUT std_logic_vector(3 DOWNTO 0); co,bo:OUT std_logic); END; ARCHITECTURE w 2 OF CNT16 IS SIGNAL po:std_logic_vector(3 DOWNTO 0); BEGIN p1:PROCESS(clk,cr,set,cin) BEGIN IF cr='1' THEN po