当前位置: 首页 > news >正文

郑州网站建设七彩科技网站后台编辑器编辑内容无法显示

郑州网站建设七彩科技,网站后台编辑器编辑内容无法显示,vip视频网站如何做,建设网站后需要什么知识Verilog语言中三种固定的always关键词#xff0c;它们分别是always_ff、always_latch和always_comb。它们都是用来描述电路元件的行为的#xff0c;但是它们有不同的用途和限制。它们的工作原理如下#xff1a; always_ff是用来描述触发器的行为的#xff0c;它只能包含时… Verilog语言中三种固定的always关键词它们分别是always_ff、always_latch和always_comb。它们都是用来描述电路元件的行为的但是它们有不同的用途和限制。它们的工作原理如下 always_ff是用来描述触发器的行为的它只能包含时钟信号和复位信号的边沿触发事件不能包含其他类型的事件。它只能使用非阻塞赋值来赋值输出信号不能使用阻塞赋值。它不能被其他进程写入相同的变量也就是说输出信号只能由一个always_ff语句控制。always_latch是用来描述锁存器的行为的它可以包含任何类型的事件但是必须有一个完整的if-else语句来控制输出信号。它只能使用阻塞赋值来赋值输出信号不能使用非阻塞赋值。它不能被其他进程写入相同的变量也就是说输出信号只能由一个always_latch语句控制。always_comb是用来描述组合逻辑电路的行为的它不需要指定敏感列表也就是说不需要列出触发语句块执行的事件因为它会自动推断出所有相关的输入信号并在任何一个输入信号发生变化时重新执行语句块。它只能使用阻塞赋值来赋值输出信号不能使用非阻塞赋值。它不能被其他进程写入相同的变量也就是说输出信号只能由一个always_comb语句控制。 详细介绍如下 always_comb 用来描述组合逻辑电路的行为。组合逻辑电路是一种没有存储元件的电路它的输出信号只取决于当前的输入信号。always_comb语句的特点是 它不需要指定敏感列表也就是说不需要列出触发语句块执行的事件因为它会自动推断出所有相关的输入信号并在任何一个输入信号发生变化时重新执行语句块。它会在仿真开始时自动执行一次也就是说在时间0时它会根据初始的输入信号计算出输出信号的值。它只能包含组合逻辑元件也就是说不能包含触发器、锁存器、延时、事件控制或分支等时序逻辑元件。它只能使用阻塞赋值来赋值输出信号不能使用非阻塞赋值。它不能被其他进程写入相同的变量也就是说输出信号只能由一个always_comb语句控制。 举个例子假设有一个四位的全加器电路它有两个四位的输入信号a和b一个一位的进位输入信号cin一个四位的输出信号s和一个一位的进位输出信号cout。可以用以下SystemVerilog代码来描述 module adder(input logic [3:0] a, input logic [3:0] b, input logic cin, output logic [3:0] s, output logic cout);always_comb begin{cout, s} a b cin; // 阻塞赋值·end endmodule上述代码第三行表示一个阻塞赋值也就是说把右边的表达式的值赋给左边的变量并且立即生效。左边的变量是一个连接符号{}它表示把两个或多个变量连接成一个变量。例如{cout, s}表示一个五位的变量它由cout和s两个变量组成cout是最高位s是低四位。右边的表达式是一个加法运算符它表示把两个或多个变量按位相加并返回一个相同长度的结果。例如a b cin表示把a、b和cin三个变量按位相加并返回一个五位的结果。所以这个语句的意思是把a、b和cin三个变量按位相加并把结果的最高位赋给cout低四位赋给s。 always_ff 用来描述触发器的行为。触发器是一种可以存储数据的电路元件它有两个端口时钟端口clk和数据端口d。触发器的输出端口q的值会在每个时钟信号的有效沿通常是上升沿时更新为数据端口d的值。always_ff语句的工作流程如下 首先需要在always_ff语句后面用括号指定敏感列表也就是触发语句块执行的事件。敏感列表只能包含时钟信号和复位信号的边沿触发事件不能包含其他类型的事件。例如(posedge clk)表示只有在时钟信号clk的上升沿时才会执行语句块(posedge clk or negedge rst_n)表示只有在时钟信号clk的上升沿或复位信号rst_n的下降沿时才会执行语句块。然后需要用begin和end包围一个语句块也就是描述触发器功能的一组语句。语句块中只能使用非阻塞赋值来赋值输出信号不能使用阻塞赋值。非阻塞赋值表示赋值操作会在一个时间单位后才生效并且不会影响其他赋值操作执行。例如q d表示把数据信号d的值赋给输出信号q并且延时一个时间单位。最后需要注意不要被其他进程写入相同的变量也就是说输出信号只能由一个always_ff语句控制。如果有多个always_ff语句控制同一个变量那么可能会产生冲突或不确定的结果。 举个例子假设有一个四位的D触发器电路它有一个时钟输入端口clk一个数据输入端口d一个数据输出端口q和一个异步复位输入端口rst_n。可以用以下SystemVerilog代码来描述 module flop(input logic clk, input logic rst_n, input logic [3:0] d, output logic [3:0] q);always_ff (posedge clk or negedge rst_n) beginif (rst_n 0) q 4b0; // 异步清零else q d; // 同步更新end endmodulealways_latch 它用来描述锁存器的行为。锁存器是一种可以存储数据的电路元件它有两个端口使能端口en和数据端口d。锁存器的输出端口q的值会在使能端口en为高电平时更新为数据端口d的值否则保持原来的状态。always_latch语句的工作流程如下 首先需要在always_latch语句后面用括号指定敏感列表也就是触发语句块执行的事件。敏感列表可以包含任何类型的事件例如时钟信号的上升沿或下降沿或者输入信号的变化。然后需要用begin和end包围一个语句块也就是描述锁存器功能的一组语句。语句块中必须有一个完整的if-else语句来控制输出信号也就是说必须覆盖所有可能的输入情况。否则如果有一些输入情况没有被处理那么就会产生一个隐含的锁存器这可能会导致错误或不确定的结果。最后需要注意不要被其他进程写入相同的变量也就是说输出信号只能由一个always_latch语句控制。如果有多个always_latch语句控制同一个变量那么可能会产生冲突或不确定的结果。 举个例子假设有一个四位的D锁存器电路它有一个使能输入端口en一个数据输入端口d和一个数据输出端口q。可以用以下SystemVerilog代码来描述 module latch(input logic en, input logic [3:0] d, output logic [3:0] q);always_latch (en or d) beginif (en 1) q d; // 使能更新else q q; // 保持状态end endmodule
http://www.yutouwan.com/news/444231/

相关文章:

  • 微信朋友圈做网站推广赚钱吗江苏无锡今天的最新发布消息
  • 网站设计应遵循的原则山西省诚信建设网站
  • 侠客推 网站建设棋牌软件开发多少钱
  • 去哪个网站找题目给孩子做网站建设的比较合理的流程
  • 上海手机网站建设报价网站优化建设山东
  • 企业电器网站建设方案免费软件的定义
  • 十堰网站建设电话搜索引擎优化方案案例
  • 成都建设网站那家好电子商务网站建设预算
  • 辽宁省建设注册中心网站国际财经新闻最新头条
  • 网站初期缺点html免费模板下载
  • 网站建设需要会网站推广服务报价表
  • 淘宝客网站虚拟主机公司网站开发建设
  • 网站做二维码吗做网站应怎么缴税
  • 北京南站地铁几号线建设银行网站注销
  • 企业网站建立制作网站后台服务
  • 购物车网站设计网站开发微信提现功能
  • 学习做网站大概多久时间如何用自己电脑做网站服务器
  • 大方县住房城乡建设局网站做一个网站的基本步骤
  • 自己建一个影视网站要怎么做建设网站容易吗
  • 网站架构设计师福建石狮有做网站的没
  • 做二维码电子档相册 找什么网站如何注册网站平台
  • 南山区住房和建设局官方网站怎么做线上推广
  • 县工商局 网站建设wordpress 猜你喜欢
  • 买做指甲的材料在哪个网站logo免费设计在线生成无水印
  • 中国建设银行网站登录不上登录自治区建设厅的网站查询
  • 移动设备网站开发注意点wordpress调用标签软件
  • 红岗网站建设网站建设公司南昌
  • 网上做网站网站代理江西网站建设与推广
  • 国外室内设计网站大全网站广西建设职业技术学院官网
  • 建设银行网站下载中心在哪权威的网站建设排行榜