抽象级( Levels of abstraction ·在抽象级上需要进行折衷 输入/仿真速度 系统说明 详细程度 高 设计文档算术描述 低 RTL功能级 verilog J级/结构级 Ⅴ erilog 版图物理级 低 高 几何图形
抽象级(Levels of Abstraction) • 在抽象级上需要进行折衷 系统说明 -设计文档/算术描述 RTL/功能级 -Verilog 门级/结构级 -Verilog 版图/物理级 -几何图形 详细程度 低 高 输入/仿真速度 高 低
抽象级( Levels of abstraction Verilog可以在三种抽象级上进行描述 行为级 用功能块之间的数据流对系统进行描述 在需要时在函数块之间进行调度赋值。 RTI级/功能级 用功能块内部或功能块之间的数据流和控制信号描述系统 基于一个已定义的时钟的周期来定义系统模型 结构级/门级 用基本单元( primitive或低层元件( componen的连接来描述系 统以得到更高的精确性,特别是时序方面。 在综合时用特定工艺和低层元件将RTL描述映射到门级网表
抽象级(Levels of Abstraction) Verilog可以在三种抽象级上进行描述 • 行为级 – 用功能块之间的数据流对系统进行描述 – 在需要时在函数块之间进行调度赋值。 • RTL级/功能级 – 用功能块内部或功能块之间的数据流和控制信号描述系统 – 基于一个已定义的时钟的周期来定义系统模型 • 结构级/门级 – 用基本单元(primitive)或低层元件(component)的连接来描述系 统以得到更高的精确性,特别是时序方面。 – 在综合时用特定工艺和低层元件将RTL描述映射到门级网表
抽象级( Levels of abstraction 设计工程师在不同的设计阶段采用不同的抽象级 首先在行为级描述各功能块,以降低描述难度,提高仿真速度。 在综合前将各功能模块进行RTL级描述。 用于综合的库中的大多数单元采用结构级描述。在本教程中的结 构级描述部分将对结构级(门级)描述进行更详细的说明。 Verilog还有一定的晶体管级描述能力及算法级描述能力
抽象级(Levels of Abstraction) • 设计工程师在不同的设计阶段采用不同的抽象级 – 首先在行为级描述各功能块,以降低描述难度,提高仿真速度。 – 在综合前将各功能模块进行RTL级描述。 – 用于综合的库中的大多数单元采用结构级描述。在本教程中的结 构级描述部分将对结构级(门级)描述进行更详细的说明。 • Verilog还有一定的晶体管级描述能力及算法级描述能力
行为级和RTL级 MUX的行为可以描述为:只要信号a或b或se发生变化,如果sel 为0则选择a输出;否则选择b输出。 module muxtwo ( out, a, b, sel) input a,b, seli output out reg out always @ sel or aor b) sel if(!se1)。ut else out =b 这个行为级RP迷处理X和Z状态输入,并且没有延时。 在行为级模型中,逻辑功能描述采用高级语言结构,如a, while, wait. if,case Testbench( test fixture)通常采用行为级描述。所有行为级结构在 testbench描 述中都可以采用。 RTL模型中数据流都是基于时钟的。任何时钟元件在时钟沿处的行为都要精 确描述。RTL级描述是行为级 Verilog的子集
行为级和RTL级 • MUX的行为可以描述为:只要信号a或b或sel发生变化,如果sel 为0则选择a输出;否则选择b输出。 module muxtwo (out, a, b, sel); input a, b, sel; output out; reg out; always @( sel or a or b) if (! sel) out = a; else out = b; endmodule 这个行为级RTL描述不处理X和Z状态输入,并且没有延时。 在行为级模型中,逻辑功能描述采用高级语言结构,如@, while,wait,if, case。 Testbench(test fixture)通常采用行为级描述。所有行为级结构在testbench描 述中都可以采用。 RTL模型中数据流都是基于时钟的。任何时钟元件在时钟沿处的行为都要精 确描述。RTL级描述是行为级Verilog的子集
结构级描述 综 不结构级 verilog适合开发小规模元件,如ASC和FPGA的单元 支持!- Verilog内部带有描述基本逻辑功能的基本单元prme,如a门。 用户可以定义自己的基本单元UDP( User Defined Primitives) 综合产生的结果网表通常是结构级的。用户可以用结构级描述粘接 (glue)逻辑 下面是MUX的结构级描述,采用Ⅴerlg基本单元(门)描述。描述 中含有传输延时。 module twomux (out, a b,s1) twomux input a, b, sli sela output out not ul (nsl, sl )i and #1 u2 (sela, ut a, nsl)i and #1 u3 (selb b selb b,s1) #2 u4 (out
结构级描述 • 结构级Verilog适合开发小规模元件,如ASIC和FPGA的单元 – Verilog内部带有描述基本逻辑功能的基本单元(primitive),如and门。 – 用户可以定义自己的基本单元UDP(User Defined Privitives) – 综合产生的结果网表通常是结构级的。用户可以用结构级描述粘接 (glue)逻辑。 • 下面是MUX的结构级描述,采用Verilog基本单元(门)描述。描述 中含有传输延时。 module twomux (out, a, b, sl); input a, b, sl; output out; not u1 (nsl, sl ); and #1 u2 (sela, a, nsl); and #1 u3 (selb, b, sl); or #2 u4 (out, sela, selb); 综合不 支持!