这段程序是由系统生成的 好象是AHDL程序 无奈我看不懂有懂的大虾帮忙看一下。。。 另外请教一下这个模块是怎么生成的?<br /><br />OPTIONS NAME_SUBSTITUTION = ON;<br /><br />PARAMETERS<br />(<br /> LPM_WIDTH,<br /> LPM_CVALUE,<br /> CBXI_PARAMETER = "NOTHING"<br />);<br /><br />FUNCTION @CBXI_PARAMETER ()<br /> RETURNS (result[LPM_WIDTH-1..0]);<br /><br /><br />SUBDESIGN lpm_constant<br />(<br /> result[LPM_WIDTH-1..0] : OUTPUT;<br />)<br />VARIABLE<br /> IF CBXI_PARAMETER != "NOTHING" GENERATE<br /> ag : @CBXI_PARAMETER WITH (CBXI_PARAMETER = "NOTHING");<br /> END GENERATE;<br /><br />BEGIN<br /><br /> ASSERT (LPM_WIDTH > 0)<br /> REPORT "Value of LPM_WIDTH parameter value must be greater than 0"<br /> SEVERITY ERROR<br /> HELP_ID LPM_CONSTANT_WIDTH;<br /><br /> IF CBXI_PARAMETER == "NOTHING" GENERATE<br /><br /> FOR each_bit IN 0 TO LPM_WIDTH-1 GENERATE<br /> IF ((2^each_bit & LPM_CVALUE) == 0) GENERATE<br /> result[each_bit] = GND;<br /> ELSE GENERATE<br /> result[each_bit] = VCC;<br /> END GENERATE;<br /> END GENERATE;<br /> ELSE GENERATE<br /> IF USED(result) GENERATE<br /> result[] = ag.result[];<br /> END GENERATE;<br /> END GENERATE;<br /> <br /> IF !USED(result) GENERATE<br /> result[] = GND;<br /> END GENERATE;<br />END; |
|