4位加法计数器设计(二):图 add 0 Q[3.0rego OUT[3. 0] 4 B3.可 P03.] ENA ADDER CLR
4位加法计数器设计(二):图
10. ARCHIEC TURE bhy OF CNT10 IS 4位加法计数器 11. BEGIN 设计(三) PROCESS(CLK, RST,EN) VARIABLE CQI: STD LOGIC VECTOR( 3 DOWNTO O) BEGIN 1. LIBARY IEEE: IF RST=1 THEN 2. USE IEEE STD LOGIC 1164.ALL 3. USE IEEE STD LOGIC UNSIGNED.ALL 6789 CQI: =(OTHERS >=0) ELSIF CLKEVENTAMD CLK=1 THEN IF EN=1 THEN 20 IF CQI< 9 THEN 4. ENTITY CNT10S CQI: CQI+1: PORT(CLK, RST, EN IN STD LOGIC ELSE 6 CQ OUT STD LOGIC 22 COUT OUT STD LOGIC <3 CQI: =(OTHERS >=0) END IF. END 9. END ENTITY CNT10 END IF 28 IF CQI=9 THEN COUT <=1 ELSE 具有异步 COUT <=0 复位(RST END IF. 时钟使能(EN CQ<= CQ 参见:p113ex53CN10 END PROCESS 37. END ARCHITECTURE bhy
4位加法计数器 设计(三) 1. LIBARY IEEE; 2. USE IEEE.STD_LOGIC_1164.ALL; 3. USE IEEE.STD_LOGIC_UNSIGNED.ALL; 4. ENTITY CNT10 IS 5. PORT ( CLK, RST, EN : IN STD_LOGIC; 6. CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); 7. COUT : OUT STD_LOGIC 8. ); 9. END ENTITY CNT10; 10. ARCHITECTURE bhv OF CNT10 IS 11. BEGIN 12. PROCESS(CLK,RST,EN) 13. 14. VARIABLE CQI: STD_LOGIC_VECTOR( 3 DOWNTO 0); 15. BEGIN 16. IF RST = '1' THEN 17. CQI := (OTHERS >='0' ); 18. ELSIF CLK'EVENT AMD CLK = '1' THEN 19. IF EN = '1' THEN 20. IF CQI < 9 THEN 21. CQI := CQI + 1; 22. ELSE 23. CQI := (OTHERS >='0' ); 24. END IF; 25. END IF; 26. END IF; 27. 28. IF CQI = 9 THEN 29. COUT <= '1' ; 30. ELSE 31. COUT <= '0'; 32. END IF; 33. CQ <= CQI 34. 35. END PROCESS; 36. 37. END ARCHITECTURE bhv; 具有异步 复位(RST) 时钟使能(EN) 参见:p113_ex5_3_CNT10