【转载】verilog语法之generate语句的基本认识 您所在的位置:网站首页 generate语句中的循环控制变量 【转载】verilog语法之generate语句的基本认识

【转载】verilog语法之generate语句的基本认识

2024-07-10 11:07| 来源: 网络整理| 查看: 265

最近在至芯科技的书上看到的,觉得还行吧,给大家分享一下。一、为什么学习generate?在设计中,很多情况下需要编写很多结构相同但是参数不同的赋值语句或者逻辑语句,如果在参数量很大的的情况下,原本的列举就会显得心有余而力不足。c语言中常用for语句来解决此类问题,verilog则为我们提供了generate语句。二、generate的基本概念及语法generate语句的最主要功能就是对module、reg、assign、always、task等语句或者模块进行复制。generate语句有generate_for、generate_if、generate_case三种语句。下面开来看看这三种语句有什么不同?1、generate_for语句注:(1)、必须使用genvar申明一个正整数变量,用作for循环的判断。(genvar是generate语句中的一种变量类型,用在generate_for中声明正整数变量。)(2)、需要复制的语句必须写到begin_end语句里面。就算只有一句!!!!!!(3)、begin_end需要有一个类似于模块名的名字。

例1、利用generate_for来复制assign语句

module generate_for( input [7:0] data_in , output [1:0] t0 , output [1:0] t1 , output [1:0] t2 , output [1:0] t3 ); wire [1:0] temp [3:0]; //定义位宽为2,深度为4的temp genvar i; //利用genvar声明正整数变量 generate for(i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有