例:JK触发器(边沿触发) J-K触发器的真值表 输入 输出 R0 Q Qn s10011 JXxx00 0 0 状态不可用 保持 保持 个一个个个↓ 011111 Kxxx0101 0 0 1 翻转 翻转 X X 保持 保持 JK S-set置位端 R-rese复位端 k Q、Qn-输出端 n k一信号输入端 cp cp-时钟信号 JK触发器的电路符号
例:J-K触发器(边沿触发) 输入 输出 CP R S J K Q Qn X 0 1 X X 0 1 X 1 0 X X 1 0 X 0 0 X X 状态不可用 ↑ 1 1 0 0 保持 保持 ↑ 1 1 0 1 0 1 ↑ 1 1 1 0 1 0 ↑ 1 1 1 1 翻转 翻转 ↓ 1 1 X X 保持 保持 J-K触发器的真值表 JK触发器的电路符号 JK j k r s cp qn q S –set 置位端 R – reset 复位端 Q、Qn – 输出端 j、k – 信号输入端 cp – 时钟信号
library ieee; use ieee std logic_1164.all elsif cp event and cp='1 then use ieee std_logic_unsigned ifj="0′andk= en temp<=0 entity jKis qn-temp<=‘1 port(, k,r, s, cp: in std logic; elsifj=‘1andk=“0’tho en g, qn: out std_logic) q-temp<=‘1 djK; qn-temp<= 0 architecture one ofJKis elsifj=1 and k= 1then signal g-temp, qn_temp: stdlogic g_temp<-=not -temp; gin qn_temp<=not qn_temp; process〔, s,j, k, cp) end if be‘0ands=‘1then end if: nd process; q-temp< 0 qs=q-temp elsifr=1 ands=0 then qn<=gn_temp; g-_temp<= 1; end one; qr elsifr='0 temps=q-temp; p<=qn__temp;
library ieee ; use ieee.std_logic_1164.all ; use ieee.std_logic_unsigned.all ; entity JK is port(j,k,r,s,cp:in std_logic ; q, qn:out std_logic); end JK; architecture one of JK is signal q_temp, qn_temp: std_logic ; begin process(r,s,j,k,cp) begin if r=‘0’ and s=‘1’ then q_temp<=‘0’; qn_temp<=‘1’; elsif r=‘1’ and s=‘0’ then q_temp<=‘1’; qn_temp<=‘0’; elsif r=‘0’ and s=‘0’ then q_temp<=q_temp; qn_temp<=qn_temp; elsif cp’event and cp=‘1’ then if j=‘0’ and k=‘1’ then q_temp<=‘0’; qn_temp<=‘1’; elsif j=‘1’ and k=‘0’ then q_temp<=‘1’; qn_temp<=‘0’; elsif j=‘1’ and k=‘1’ then q_temp<=not q_temp; qn_temp<=not qn_temp; end if; end if; end process; q<=q_temp; qn<=qn_temp; end one;
4.23if语句 书写格式 [f标号]f<条件>then <顺序语句>; [ elsif<条件>then <顺序语句>;] elsif<条件>then <顺序语句>;] else <顺序语句>;] end if[i标号]; 三种常用形式 (1) ifthen形式的语句 匝f标号Jf<条件>then <顺序语句>; endf[i标号;
4.2.3 if 语句 书写格式: [if标号:]if <条件> then <顺序语句>; [elsif <条件> then <顺序语句>;] [elsif <条件> then <顺序语句>;] …… [else <顺序语句>;] end if [if标号]; 三种常用形式: (1) if then 形式的if语句 [if标号:]if <条件> then <顺序语句>; end if [if标号];
(2) if then else形式的避语句 [if标号班f<条件>then 顺序语句> else <顺序语句>; end if lif标号; (3) if then elsif else形式的语句 匠if标号]f<条件>then <顺序语句> elsif<条件>then <顺序语句>;] [ elsif<条件>then <顺序语句>;] else <顺序语句>;] end if[i标号];
(2) if_then_else形式的if语句 [if标号:]if <条件> then <顺序语句>; else <顺序语句>; end if [if标号]; (3)if_then_elsif_else形式的if语句 [if标号:]if <条件> then <顺序语句>; [elsif <条件> then <顺序语句>;] [elsif <条件> then <顺序语句>;] …… [else <顺序语句>;] end if [if标号];