系统性学习笔记连载ay三种建模方式区别及erilog语法基础篇腾讯云开发者社区

这篇文件记录,FPGA的3种建模方式及基本的Verilog HDL语法,内容会根据学习进度,不断更新。

在数字电路中,信号经过组合逻辑时会类似于数据流动,即信号从输入流向输出,并不会在其中存储。当输入变化时,总会在一定时间以后体现在输出端。同样,我们可以模拟数字电路的这一特性,对其进行建模,这种建模方式通常被称为数据流建模。

1.1、是使用连续赋值语句(assign)对电路的逻辑功能进行描述,该方式特别便于对组合逻辑电路建模

1.2、连续驱动,连续赋值语句是连续驱动的,也就是说只要输入发生变化,都会导致该语句的重新计算。

1.3、只有线网型的变量才能在assign语句中被赋值

1.4、因为assign语句中被赋值的变量,在仿真器中不会存储其值,所以该变量必须是线网(Nets)类型,不能是寄存器(reg)类型

1.5、线网类型的变量,可以被多重驱动,也就是说可以在多个assign语句中驱动同一个net

1.6、reg型变量,不能被不同的行为进程(eg:always块)驱动

1.7、建议使用assign对组合逻辑建模,这是因为assign语句的连续驱动特点与组合逻辑的行为非常相似,而且在assign语句中加延时可以非常精确地模拟组合逻辑的惯性延时。

1.8、assign语句与行为语句块(always和initial)、其它连续赋值语句、门级模型之间是并行的。

一个连续赋值语句是一个独立的进程,进程之间是并发的,同时也是交织的。

行为方式的建模是指采用对信号行为级的描述(不是结构级的描述)的方法来建模。

在表示方面,类似数据流的建模方式,但一般是把用initial 块语句或always 块语句描述的归为行为建模方式。

行为建模方式通常需要借助一些行为级的运算符如加法运算符(+),减法运算符(-)等。

需要先建立以下概念:

结构化描述就是说在设计中实例化已有的功能模块,这些功能模块包括门原语、用户自定义原语(UDP)和其他模块(module)。

以下是结构化描述的3种实例类型:

RTL级,register transfer level,指的是用寄存器这一级别的描述方式来描述电路的数据流方式;

Behavior级,(行为级)指的是仅仅描述电路的功能而可以采用任何verilog语法的描述方式。

2种方式的区别:

1、目的区别:

有行为综合工具,可以直接将行为级的描述综合为RTL级的,比如Behavioral Compiler。

2、形式区别:

行为级描述:

更多的是采取直接赋值的形式,只能看出结果,看不出数据流的实际处理过程。其中又大量采用算术运算,延迟等一些无法综合的语句。常常只用于验证仿真。

3、电路区别:

RTL级,register transfer level

指的是用寄存器这一级别的描述方式来描述电路的数据流方式;RTL在很大程度上是对流水线原理图的描述。哪里是组合逻辑,哪里是寄存器,设计者应该了然于胸。

组合逻辑到底如何实现,取决于综合器和限制条件。RTL是晶体管传输级,描述硬件的相互联接关系,一般都可以综合;

指的是仅仅描述电路的功能而在硬件设计中有一句著名的话:thinking of hardware。 简单说,rtl就是用寄存器和组合逻辑组成,不能再用其他construct; behavior就是指定输入和输出之间的关系

4、 同样是for语句,如果循环条件是常数,就是RTL的,如果是变量,就是behavior的。

1、信号的类别

输入 :input

输出 :output

输入输出 :inout

2、内部信号

寄存器信号(时序逻辑)reg oe;

线网型信号(组合逻辑) wire oe;

3、端口的位宽的类别

位宽为8的输入信号 input [7:0] data

4、连续赋值语句

将右边的值赋值给左边 assign out = sel?a:b;

5、在assign语句中被赋值了的变量,都要申明为 wire类型

6、在initial、always语句中被赋值了的变量,都要申明为 reg类型

7、always语法

1>、always @ (posedge clk,negedge rst_n) begin----end

always:表示总是的意思;

@:表示等到的意思;

(posedge clk,negedge rst_n):括号代表对什么敏感,这里就是对时钟上升沿或者rst_n的下降沿敏感;

逗号:或的意思,可以写成 or

注:这句话的意思是,等到 clk的上升沿 或 rst_n下降沿到了,就执行 begin----end之间的语句

2>、always @ (*) begin---end

(*):代表本always块用到的所有变量,综合工具和仿真工具,会自动将本always块,使用到的所有的敏感信号加入敏感信号列表,当敏感信号状态发生改变,就执行begin--end中的语句

3>、case语法

4>、casex语法

casex -- endcase: 成对出现,注意 以下b1xxx_xxxx的写法,是简化写法,1后面的x代表值是随机的不关心的;

例如 8b1xxx_xxxx = 8b1000_1111/8b10101_1010,8b0xxx_xxxx=8b0000_0000/8b01010_0101

5>、repeat语法

6>、位拼接

1ns是周期,1ps是精度

注:延时语句是非综合语句,是不能形成电路的

多年的FPGA企业开发经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有。

THE END
0.肝功能分级标准是什么?一般B级说明患者的肝脏功能比较一般,存在一定的手术风险,但是预后情况比较好,通常需要及时到正规医院接受进一步检查,根据检查结果进行针对性治疗。 3、C级 C级患者的肝脏功能比较差,随着病情的不断发展,会造成肝脏功能逐渐衰退,而且存在比较大的手术风险,术后存活率比较低。jvzquC41o0iicxsgk0ipo8rkr1tfy|4366636>70jvsm
1.56°C除菌自清洁智能防直吹挂机空调KFR苏宁易购为您提供最全的海尔(Haier)1.5匹 变频新一级能效 56°C除菌自清洁 智能防直吹 挂机空调KFR-35GW/B1KDA81U1参数配置、规格、性能、功能等详细信息。想了解更多海尔(Haier)1.5匹 变频新一级能效 56°C除菌自清洁 智能防直吹 挂机空调KFR-35GW/B1KDA81U1相关信息,请关jvzquC41yy}/u~skpi4dqv4kvgsdcwxjw161295222611:7572<47:<40jznn
2.车辆总线技术与车载网络协议概览C类总线 面向闭环实时控制的多路传输高速网络,位速率多在125Kb/S ~ 1Mb/S 之间。 C类总线主要用于车上动力系统中对通讯的实时性要求比较高的场合,主要服务于动力传递系统。在欧洲,汽车厂商大多使用“高速CAN”作为C类总线,它实际上就是ISO 11898-1 中位速率高于125Kb/S的那部分标准。美国则在卡车极其拖车、课jvzquC41dnuh0lxfp0tfv8|gkzooa=862;6948ftvkimg8igvcomu864:985:<=
3.小托福成绩等级划分托福1.熟练运用(C) C2(上级) 能毫不费力地理解所看到以及听到的事件。能对复杂题材开展讨论。能总结不同的口头及书面信息,并且有能力连贯地复述这些信息的要点和逻辑推理。能流利、准确即兴表达自己的意见,并能清楚有效地在复杂题材讨论时表达自己的观点。 jvzquC41vqkgn7pqqnkbtw3eqo532;72:2>0:>73694ivvq
4.VBAOnlyLiu8,Sub aa()'把B1到B12单元格的数据填入c1到c12 For i = 1 To 12 Range("C" & i) = Range("B" & i) Next i End Sub 9,ActiveCell.AddComment Selection.Font.Size = 12'在点选的单元格插入批注,字体为12号 10,Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As BooleanjvzquC41yy}/ewgnqiy/exr1nkmiv:;;1cxdjr{g146198591280:97:;;4ivvq
5.21私募投融资周报(12.13碳化硅功率器件厂商森国科完成亿元级C轮融资 12月14日消息,碳化硅(SiC)功率器件厂商深圳市森国科科技股份有限公司宣布完成C轮亿元级融资。本轮融资领投方为中金资本,跟投方包括国家科学技术部下属国家科技风险开发事业中心投资的中科海创基金,广东凌霄泵业有限公司(002884.SZ)。 小华半导体获4000万元新一轮融资 12月14 jvzquC41hktbplj0gcyuoxsg{0ipo8f142823;72447:6>88894ivvq
6.奔驰C级仪表故障灯亮,代码显示起动机蓄电池电阻过高,怎么办?车辆状况:2020款奔驰C级(图片|配置|询价),1年多行驶2.4万公里,无事故。 故障描述:车子启动后,仪表故障灯亮起,去4S店检查后,故障代码为B1F4500起动机蓄电池电阻过高。 车子起动机蓄电池电阻过高可能是这些原因造成的:1,电瓶亏电;2,线路故障;3,发电机故障。 jvzquC41yy}/fxsiejkek7hqo1{he8ftvkimg8;;86<24A5449;44A:67
7.维生素c2+是什么意思39问医生维生素C2+表示尿液中维生素C含量偏高,可能存在维生素C摄入过多或代谢异常的情况。维生素C2+可能与长期大量摄入维生素C制剂或食物富含维C有关。过量的维C会增加肾小球滤过膜通透性,导致其浓度增高。这可能导致尿频、尿急等泌尿系统症状,还可能出现腹泻、腹痛等症状。针对jvzquC41ycvbut35;0tfv8vwguzjqw4;28849=;0jvsm
8.航空工程实验中心主要设备6.符合ASTM E83 B1级 主要功能:进行材料、构件的力学性能试验 温度/湿度/振动三综合环境试验箱 主要技术指标: 1.标称内容积 0.62 m3 2.温度范围 -70℃~+150℃ 3.湿度范围 (20~98) %RH/ (20~85) ℃ 4.最大激振力10kN 主要功能: 可模拟温度、湿度、振动循环变化的组合环境,与单一因素作用相比,更能jvzquC41jm~z0ƒzc0gjv0ls1kplp1:7581899=3jvo