【Verilog】generate和for循环的一些使用总结(1)

您所在的位置:网站首页 start与begin为什么不与for 【Verilog】generate和for循环的一些使用总结(1)

【Verilog】generate和for循环的一些使用总结(1)

2023-08-18 04:26| 来源: 网络整理| 查看: 265

前言

之前使用generate和for时候一直糊里糊涂的使用,所以今天静下心来总结一下,顺便看看有哪些坑。

做一个模块,输入为多路data通过bit map型vld信号作为标记,输出为单路data,取多路信息中port num值最大的那一路数据,同时输出这一拍共多少路有数据;

信号端口位宽含义in_vldinputPORT_NUMbitmap型vld信号,每一bit标志一路数据有效in_datainputPORT_NUM * DATA_WD共PORT_NUM路数据,每路数据位宽为DATA_WDout_vldoutput1输出数据有效out_dataoutputDATA_WD输出数据out_cntoutputPORT_WD共多少路输入vld有效计数参数含义FLOP_FLAG输出数据是否打拍PORT_NUM输入vld位宽DATA_WD单路数据位宽

OK,下面的归纳与实验都是基于这个场景。

generate归纳 generate使用

generate的主要用法就是两种,第一是构造循环结构,例如多次实例化某个模块,或者是进行连线;第二种是通过if-generate或者case-generate来在多个代码块之间最多选择一个作为综合的rtl代码。

通过循环结构来例化多个模块,一般的语法结构就是:

genvar j; generate for(i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3