首页 > 编程知识 正文

Verilog HDL 设计与综合/数字集成电路设计方法概述_part7

时间:2023-05-05 07:10:31 阅读:121783 作者:2388

33 .使用wire型内核reg型连续赋值语句和运算符

要在编程中正确使用wre和reg类型,请执行以下操作:

)1)在连续赋值语句(assign )中,由于是组合电路的描述,因此被赋值的信号只能使用wire类型

)2)在Initia和always程序语句中,代入的信号必须定义为reg型

)3)采用结构级描述时,模块、基本门和开关部件的输出信号只能使用wire类型。

在硬件描述语言中,大多数电路都采用WIRE类型

无论是描述组合电路还是时序电路,用过程语句描述时都必须重新定义为REG类型

在标准栅极电平的单元电路中,其输入输出信号非常明确,其最初的信号是输出信号,之后是输入信号

连续赋值语句是非常高效地描述组合电路的方法,运算符用硬件描述语言来表现就是电路

递归运算符

关于组合电路,可以通过使用连续赋值语句和运算符来充分设计。 但是在一些特殊环境中,采用过程语句更有效率。 一个典型的例子是对真值表和有限状态机的case条件分支语句的描述,采用case语句是合理的

连接操作员:

34.always语句中敏感事件表时序电路下使用Verilog HDL程序的并行化设计思想无阻塞赋值语句和流水线设计

(1)用过程语句描述组合电路时,必须将所有输入信号列入敏感信号列表,且敏感信号列表中不得存在边缘信号。

(2)使用过程语句描述时序电路时,需要将时间信号和部分输入信号放入敏感信号列表中。

在用定时电路描述过程中,在一些工具中,只有边缘信号显示在敏感事件表中,而边缘信号和电平信号都不显示在敏感事件表中

许多集成工具(如Quartus )无法同时在敏感事件表中显示边缘变化信号和电平变化信号。 例如

always@(posedgeclk,negedge rst )是正确的和集成的。

always@(posedge clk,rst )是错误的,不能合并。

采用不同的敏感事件表和电路描述方式往往会得到不同类型的电路

硬件描述语言是一种典型的并行化编程方式

在Verilog HDL语言中,电路结构描述方式、数据流描述方式和操作级描述方式是完全并行的,直接体现在编程代码中。

在同一模块中,所有结构化建模也是并行的

串行是只出现在beginend中的闭塞性赋值

在数字电路中,工作频率由延迟决定,但为了提高电路的工作频率,减少路径延迟

35 .时间优先的概念逻辑重叠和资源享受

if和case语句的优先级

在串行语句中,优先级最高的是最后一句

重建逻辑结构以提高电路平衡:

36 .乘法器设计log函数的Verilog HDL实现

华莱士乘法器

复数乘法器

通过复数的运算形成新的实部和虚部的过程

矢量乘法器:

在处理图形图像的过程中,信号不是一个个地发送,而是一个个地发送

对于数字电路设计来说,结构内容和算法内容对电路的指导意义非常重要

查找表乘法器:

log函数的Verilog HDL实现:

用erilog HDL设计采用常规八宝粥级数展开方式的log函数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。