《EDA技术与SOPC基础》(1)设计实现代码【例3-5】边沿触发D触发器设计module DFF1 (CLK,D,Q);//声明D触发器基本模块input CLK,D,output Q,Q;regalways @ (posedge CLK)//CLK上升沿启动Q<=D;,//当CLK上升沿时D被锁入Qendmodule明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 设计实现代码(1) 【例3-5】边沿触发D触发器设计 module DFF1 (CLK,D,Q); //声明D触发器基本模块 input CLK,D; output Q; reg Q; always @ ( posedge CLK) //CLK上升沿启动 Q<=D; //当CLK上升沿时D被锁入Q endmodule
《EDA技术与SOPC基础》语法结1.信号边沿触发表达由关键词posedge引导的表达式可以理解为是对某一信号上升沿敏感的表述,或表示CLK上升沿到来的敏感时刻。此处表示当输入信号CLK出现一个上升沿时,敏感信号“posedge CLK”将启动过程语句的执行。明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 语法总结 1. 信号边沿触发表达 由关键词posedge引导的表达式可以理解为是对某一信号上 升沿敏感的表述,或表示CLK上升沿到来的敏感时刻。此处表示当输入 信号CLK出现一个上升沿时,敏感信号“posedge CLK”将启动过 程语句的执行
《EDA技术与SOPC基础》“posedgeCLK”如果出现在过程语句的敏感信号列表,此时综合器会自动构建以边沿触发型的时序结构。因此“posedgeCLK”可以认为是时序元件对CLK信号上升沿敏感的标志符号,即凡是边沿触发性质的时序元件必须使用时钟边沿敏感表述,放置在always过程语句的敏感信号列表中。而没有使用该敏感表述标志所产生的电路都是电平敏感性时序电路。posedge信号名Ⅱ表述某信号的上升沿negedge信号名表述某信号的下降沿明德博学未实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 “posedge CLK”如果出现在过程语句的敏感信号列表,此时综 合器会自动构建以边沿触发型的时序结构。因此“posedge CLK”可以认 为是时序元件对CLK信号上升沿敏感的标志符号,即凡是边沿触发 性质的时序元件必须使用时钟边沿敏感表述,放置在always过程语句的敏 感信号列表中。而没有使用该敏感表述标志所产生的电路都是电平敏感性时 序电路。 posedge 信号名 //表述某信号的上升沿 negedge 信号名 //表述某信号的下降沿
《EDA技术与SOPC基础》(2)设计实现代码2.信号电平触发表达【例3-6】module LATCH1 (CLK,D,Q);inputCLK,D;Q,outputQ;regalways @ (CLK or D)if (CLK) Q<=D;//当CLK为高电平时O的值更新为D的输入endmodule明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 2. 信号电平触发表达 【例3-6】 module LATCH1 (CLK,D,Q); input CLK,D; output Q; reg Q; always @ (CLK or D) if (CLK) Q<=D; //当CLK为高电平时Q的值更新为D的输入 endmodule 设计实现代码(2)
《EDA技术与SOPC基础》always @ (posedgeeCLK)注意边沿触发,上升沿(1)always @ (CLK or D)电平触发,高或低需要用if条件来表达(2)在边沿触发表达式中,不能与电平表达式混用X例 : always @ (posedge clk or D)always @ (posedge clk or negedgerst明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 注 意 always @ (CLK or D) always @ ( posedge CLK) 边沿触发,上升沿 电平触发,高或低需 要用if条件来表达 (1) (2)在边沿触发表达式中,不能与电平表达式混用 例:always @ (posedge clk or D ) always @ (posedge clk or negedge rst ) X √