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

免费设计装修公司网站平台后期维护

免费设计装修公司网站,平台后期维护,简单模板网站制作时间,上海推广有限公司在Verilog硬件描述语言(HDL)中,信号的赋值方式主要分为两种:连续赋值和过程赋值。每种赋值方式有其独特的用途和语法,并适用于不同类型的电路描述。 1. 连续赋值(Continuous Assignment,assign 和&#xf…
  • 在Verilog硬件描述语言(HDL)中,信号的赋值方式主要分为两种:连续赋值和过程赋值。每种赋值方式有其独特的用途和语法,并适用于不同类型的电路描述。

1. 连续赋值(Continuous Assignment,assign 和=)

  • 连续赋值主要用于描述组合逻辑,通常与assign关键字一起使用。它在顶层模块或过程块外部进行,用于对wire类型的信号赋值。

特点

  • 组合逻辑:连续赋值用于实现组合逻辑,表示输出信号始终等于表达式的值。
  • 实时更新:当右边的表达式中的任何信号发生变化时,左边的信号会立即更新。
  • 信号类型:通常用于wire类型信号。

示例

示例 1

module blink_led(input wire a,output wire b
);assign b = a;endmodule

在这里插入图片描述

示例 2

module combinational_logic (input wire a,input wire b,output wire c
);// c 始终等于 a 和 b 的逻辑与assign c = a & b;
endmodule

在这里插入图片描述

2. 过程赋值(Procedural Assignment)

  • 过程赋值用于过程块(如alwaysinitial块)内,适用于描述组合逻辑或时序逻辑。过程赋值可以进一步分为两种:阻塞赋值(=)和非阻塞赋值(<=)。

2.1 阻塞赋值(Blocking Assignment,=

特点 :

  • 顺序执行:阻塞赋值按书写顺序执行,一个语句必须在前一个语句完成后才能执行下一个语句。
  • 阻塞行为:在赋值完成之前,后续的语句不会执行。相当于“阻塞”了后续操作。
  • 主要用于组合逻辑:通常用于描述组合逻辑,在always @(*)块中使用。

示例 :

  • 这个代码,阻塞赋值与下边的非阻塞赋值电路一样
module blink_led(
clk,reset_n,a,b,c,out);input clk;input reset_n;input a,b,c;output reg [1:0] out;reg [1:0] d;always@(posedge clk or negedge reset_n)if(!reset_n)beginout =2'b0;d =0;    endelse beginout =d+c;d =a+b;endendmodule

ISE的RTL Schematic

在这里插入图片描述
在这里插入图片描述

vivado的 Schematic

在这里插入图片描述

更换两句的顺序

在这里插入图片描述

module blink_led(
clk,reset_n,a,b,c,out);input clk;input reset_n;input a,b,c;output reg [1:0] out;reg [1:0] d;always@(posedge clk or negedge reset_n)if(!reset_n)beginout =2'b0;d =0;    endelse begind =a+b;out =d+c; // 这里的 out 使用更新后的 d 值,电路图中少一一个寄存器endendmodule

ISE的RTL Schematic

在这里插入图片描述
在这里插入图片描述

ISE的Technology Schematic

在这里插入图片描述

vivado

在这里插入图片描述

在这里插入图片描述

2.2 非阻塞赋值(Non-blocking Assignment,<=

特点 :

  • 并行执行:非阻塞赋值允许赋值操作并行执行,不必等待前一个语句完成。
  • 主要用于时序逻辑:通常用于描述时序逻辑,在always @(posedge clk)块中使用。

示例:

module mux2(
clk,reset_n,a,b,c,out);input clk;input reset_n;input a,b,c;output reg [1:0] out;reg [1:0] d;always@(posedge clk or negedge reset_n)if(!reset_n)beginout =2'b0;d =0;    endelse begind <=a+b;out <=d+c;// 这里的 out 使用更新前的 d 值endendmodule
vivado

在这里插入图片描述
在这里插入图片描述

更换两句的顺序电路图没有改变

在这里插入图片描述

手绘示例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.对比与应用场景

  1. 连续赋值 vs. 过程赋值

    • 连续赋值:用于wire类型信号,描述组合逻辑。
    • 过程赋值:用于reginteger等类型信号,描述组合或时序逻辑。
  2. 阻塞赋值 vs. 非阻塞赋值

    • 阻塞赋值:用于组合逻辑,按顺序执行,通常在always @(*)块中。
    • 非阻塞赋值:用于时序逻辑,并行执行,通常在always @(posedge clk)块中。

CG

  • https://www.bilibili.com/video/BV1va411c7Dz?p=11
http://www.yayakq.cn/news/707776/

相关文章:

  • 公厂做网站需要开诚信通吗安装wordpress主题放哪里
  • 京东商城网站的搜索引擎营销做的案例分析建设网站大概多少钱
  • 设计网站页面特效怎么做seo服务的内容
  • wordpress网站程序员网站建设管理汇报
  • 有没有什么专门做兼职的网站参考文献网站开发
  • 如何用爬虫做网站监控vps网站打开需要身份验证
  • 非法集资罪提供网站建设天台做网站
  • 建网站要花钱吗怎么上百度搜索
  • 企业网站如何做seo电商网站建设综述
  • 网站建设中的端口wordpress首页显示当前时间
  • 广东微信网站制作费用做垂直行业网站利润分析
  • iis 网站目录权限设置出入成都最新规定今天
  • 高唐网站工商登记查询系统官网
  • 做网站能注册账号的沧州网站建设cztj
  • 中小型网站站内搜索实现虹口区建设工程管理网站
  • 做领域细分行业需要建网站吗昆明php网站建设
  • 教育门户网站建设北京市建设投标网站
  • 把网站传到服务器上怎么做网站建设釒首先金手指十五
  • 外贸网站建设 深圳望京做网站
  • 安康网站建设技巧网站导航功能
  • 做网站每天都要花钱么什么好的网站学做食品
  • 定制型网站设计价格泰安最新通告今天
  • 电脑网站在哪里找山东网架公司
  • 附近做网站的公司好看的网站后台界面
  • 营商环境建设网站云信网站建设
  • 响应式网站定制开发网站维护说明
  • python 做网站 用哪个框架好路由器做网站教程
  • 网站的开发建设费黔南州建设局门户网站
  • 深圳遗像制作优化排名推广关键词
  • 网站开发者账号购买wordpress充值卡生成