【Verilog】generate和for循环的一些使用总结(1) |
您所在的位置:网站首页 › start与begin为什么不与for › 【Verilog】generate和for循环的一些使用总结(1) |
前言
之前使用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 |