TANT N:INTEGER:=9; SIGNAL COUNT:INTEGER RANGE N DOWNTO 0; BEGIN PROCESS(CLK) BEGIN IF(CLK'EVENT AND CLK='1') THEN IF(COUNT=N-1)THEN COUNT<=0; ELSE COUNT<=COUNT+1; IF COUNT<(INTEGER(N/2)) THEN OUTCLK<='0'; ELSE OUTCLK<='1'; END IF; END IF; END IF; END PROCESS; END RTL; 2.5 序列信号发生器在数字信号的传输和数字系统的测试中, 有时需要用到一组特定的串行数字信号, 产生序列信号的电路称为序列信号发生器。如产生“ 01111110 ”序列的序列信号发生器(序列可任意) 该电路可由计数器与数据选择器构成,其 VHDL 描述如下: LIBRARY IEEE ; --“ 01111110 ”序列信号发生器 USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY SENQGEN IS PORT(CLK , CLR , CLK1 : IN STD_LOGIC ; -- 两个时钟信号 ZO : OUT STD_LOGIC) ; END SENQGEN ; ARCHITECTURE ART OF SENQGEN IS SIGNAL COUNT : STD_LOGIC_VECTOR(2 DOWNTO 0); -- 序列发生器的关键是计数器, COUNT 的宽度决定序列的长度,此为 8位 SIGNAL Z: STD_LOGIC :=‘0’; -- 赋初值仅对仿真有用 BEGIN PROCESS(CLK,CLR) --8 进制计数器进程 BEGIN