mbistarchitect生成bist电路遇到的问题
时间:10-02
整理:3721RD
点击:
Hello,大家好!
又来请教大家了,现在我使用mentor的mbistarchitect工具对设计中的memories插入bist电路,现在我采用的是top-down的flow,发现一个现象。
对于pre-inserted-bist的顶层电路,内部仅仅含有memory。而对于posr-inserted-bist电路,内部的memory则是含有bist control logic的circuit。
如前者为在设计上SpRAM_1024Kx36m8 uXXXRAM(.CK(ClkXXXRam), .AD(XXXRAM_RAMADDR), .DI(XXXRAM_RAMWDATA), .DO(XXXRAM_RAMRDATA), .CSN(XXXRAM_RAMCEN), .OEN(1'b0), .RWN(XXXRAM_RAMWEN), .RSTN(1'b1));
后者如下所示:SpRAM_1024Kx36m8_bist SpRAM_1024Kx36m8_bist (.Test_AD_0({mgc_wire_308,
mgc_wire_309, mgc_wire_310, mgc_wire_311, mgc_wire_312, mgc_wire_313,
mgc_wire_314, mgc_wire_315, mgc_wire_316, mgc_wire_317}), .Test_DI_0({
mgc_wire_318, mgc_wire_319, mgc_wire_320, mgc_wire_321, mgc_wire_322,
mgc_wire_323, mgc_wire_324, mgc_wire_325, mgc_wire_326, mgc_wire_327,
mgc_wire_328, mgc_wire_329, mgc_wire_330, mgc_wire_331, mgc_wire_332,
mgc_wire_333, mgc_wire_334, mgc_wire_335, mgc_wire_336, mgc_wire_337,
mgc_wire_338, mgc_wire_339, mgc_wire_340, mgc_wire_341, mgc_wire_342,
mgc_wire_343, mgc_wire_344, mgc_wire_345, mgc_wire_346, mgc_wire_347,
mgc_wire_348, mgc_wire_349, mgc_wire_350}), .Test_RWN_0(mgc_wire_351), .
Test_OEN_0(mgc_wire_352), .Test_CSN_0(mgc_wire_353), .Test_AD_1({
mgc_wire_354, mgc_wire_355, mgc_wire_356, mgc_wire_357, mgc_wire_358,
mgc_wire_359, mgc_wire_360, mgc_wire_361, mgc_wire_362, mgc_wire_363}), .
Test_DI_1({mgc_wire_364, mgc_wire_365, mgc_wire_366, mgc_wire_367,
mgc_wire_368, mgc_wire_369, mgc_wire_370, mgc_wire_371, mgc_wire_372,
mgc_wire_373, mgc_wire_374, mgc_wire_375, mgc_wire_376, mgc_wire_377,
mgc_wire_378, mgc_wire_379, mgc_wire_380, mgc_wire_381, mgc_wire_382,
mgc_wire_383, mgc_wire_384, mgc_wire_385, mgc_wire_386, mgc_wire_387,
mgc_wire_388, mgc_wire_389, mgc_wire_390, mgc_wire_391, mgc_wire_392,
mgc_wire_393, mgc_wire_394, mgc_wire_395, mgc_wire_396}), .Test_RWN_1(
mgc_wire_397), .Test_OEN_1(mgc_wire_398), .Test_CSN_1(mgc_wire_399), .
Test_AD_2({mgc_wire_400, mgc_wire_401, mgc_wire_402, mgc_wire_403,
mgc_wire_404, mgc_wire_405, mgc_wire_406, mgc_wire_407, mgc_wire_408,
mgc_wire_409}), .Test_DI_2({mgc_wire_410, mgc_wire_411, mgc_wire_412,
mgc_wire_413, mgc_wire_414, mgc_wire_415, mgc_wire_416, mgc_wire_417,
mgc_wire_418, mgc_wire_419, mgc_wire_420, mgc_wire_421, mgc_wire_422,
mgc_wire_423, mgc_wire_424, mgc_wire_425, mgc_wire_426, mgc_wire_427,
mgc_wire_428, mgc_wire_429, mgc_wire_430, mgc_wire_431, mgc_wire_432,
mgc_wire_433, mgc_wire_434, mgc_wire_435, mgc_wire_436, mgc_wire_437,
mgc_wire_438, mgc_wire_439, mgc_wire_440, mgc_wire_441, mgc_wire_442}), .
Test_RWN_2(mgc_wire_443), .Test_OEN_2(mgc_wire_444), .Test_CSN_2(
mgc_wire_445), .tst_done(tst_done_mgc_2), .fail_h(fail_h_mgc_2), .Test_DO_0(
{mgc_wire_446, mgc_wire_447, mgc_wire_448, mgc_wire_449, mgc_wire_450,
mgc_wire_451, mgc_wire_452, mgc_wire_453, mgc_wire_454, mgc_wire_455,
mgc_wire_456, mgc_wire_457, mgc_wire_458, mgc_wire_459, mgc_wire_460,
mgc_wire_461, mgc_wire_462, mgc_wire_463, mgc_wire_464, mgc_wire_465,
mgc_wire_466, mgc_wire_467, mgc_wire_468, mgc_wire_469, mgc_wire_470,
mgc_wire_471, mgc_wire_472, mgc_wire_473, mgc_wire_474, mgc_wire_475,
mgc_wire_476, mgc_wire_477, mgc_wire_478}), .Test_DO_1({mgc_wire_479,
mgc_wire_480, mgc_wire_481, mgc_wire_482, mgc_wire_483, mgc_wire_484,
mgc_wire_485, mgc_wire_486, mgc_wire_487, mgc_wire_488, mgc_wire_489,
mgc_wire_490, mgc_wire_491, mgc_wire_492, mgc_wire_493, mgc_wire_494,
mgc_wire_495, mgc_wire_496, mgc_wire_497, mgc_wire_498, mgc_wire_499,
mgc_wire_500, mgc_wire_501, mgc_wire_502, mgc_wire_503, mgc_wire_504,
mgc_wire_505, mgc_wire_506, mgc_wire_507, mgc_wire_508, mgc_wire_509,
mgc_wire_510, mgc_wire_511}), .Test_DO_2({mgc_wire_512, mgc_wire_513,
mgc_wire_514, mgc_wire_515, mgc_wire_516, mgc_wire_517, mgc_wire_518,
mgc_wire_519, mgc_wire_520, mgc_wire_521, mgc_wire_522, mgc_wire_523,
mgc_wire_524, mgc_wire_525, mgc_wire_526, mgc_wire_527, mgc_wire_528,
mgc_wire_529, mgc_wire_530, mgc_wire_531, mgc_wire_532, mgc_wire_533,
mgc_wire_534, mgc_wire_535, mgc_wire_536, mgc_wire_537, mgc_wire_538,
mgc_wire_539, mgc_wire_540, mgc_wire_541, mgc_wire_542, mgc_wire_543,
mgc_wire_544}), .test_h(test_h_mgc_2), .bist_clk(bist_clk_mgc_2), .rst_l(
rst_l_mgc_2));
SpRAM_1024Kx36m8_bist_SpRAM_1024Kx36m8_block uXXXRAM (.CK(ClkXXXRam), .AD(
XXXRAM_RAMADDR), .DI(XXXRAM_RAMWDATA), .DO(XXXRAM_RAMRDATA), .CSN(
XXXRAM_RAMCEN), .OEN(1'b0), .RWN(XXXRAM_RAMWEN), .RSTN(1'b1), .test_DO({
mgc_wire_446, mgc_wire_447, mgc_wire_448, mgc_wire_449, mgc_wire_450,
mgc_wire_451, mgc_wire_452, mgc_wire_453, mgc_wire_454, mgc_wire_455,
mgc_wire_456, mgc_wire_457, mgc_wire_458, mgc_wire_459, mgc_wire_460,
mgc_wire_461, mgc_wire_462, mgc_wire_463, mgc_wire_464, mgc_wire_465,
mgc_wire_466, mgc_wire_467, mgc_wire_468, mgc_wire_469, mgc_wire_470,
mgc_wire_471, mgc_wire_472, mgc_wire_473, mgc_wire_474, mgc_wire_475,
mgc_wire_476, mgc_wire_477, mgc_wire_478}), .test_h(test_h_mgc_2), .test_AD(
{mgc_wire_308, mgc_wire_309, mgc_wire_310, mgc_wire_311, mgc_wire_312,
mgc_wire_313, mgc_wire_314, mgc_wire_315, mgc_wire_316, mgc_wire_317}), .
test_DI({mgc_wire_318, mgc_wire_319, mgc_wire_320, mgc_wire_321,
mgc_wire_322, mgc_wire_323, mgc_wire_324, mgc_wire_325, mgc_wire_326,
mgc_wire_327, mgc_wire_328, mgc_wire_329, mgc_wire_330, mgc_wire_331,
mgc_wire_332, mgc_wire_333, mgc_wire_334, mgc_wire_335, mgc_wire_336,
mgc_wire_337, mgc_wire_338, mgc_wire_339, mgc_wire_340, mgc_wire_341,
mgc_wire_342, mgc_wire_343, mgc_wire_344, mgc_wire_345, mgc_wire_346,
mgc_wire_347, mgc_wire_348, mgc_wire_349, mgc_wire_350}), .test_RWN(
mgc_wire_351), .test_OEN(mgc_wire_352), .test_CSN(mgc_wire_353), .bp_clk(),
.Test_mode(), .rst_l(rst_l_mgc_2));
对于生成的bist电路,由于希望产生bypass Logic,所以在bist电路会生成一个Bypass电路,也会增加一个bp_clk(bypass时钟)和一个控制进入bypass模式的测试信号Test_mode。
现在问题是在生成的bist电路中,这个bp_clk和Test_mode并未连接到我的顶层设计上,请问将该bp_clk以及Test_mode连接到正确的信号上(目前我知道这两个信号在我的顶层中如何连接),请问这个是否可以直接在bistarchitect中实现。莫非真的需要我自己对生成的bist电路再进行重新连接?
求牛人解答,谢谢!
又来请教大家了,现在我使用mentor的mbistarchitect工具对设计中的memories插入bist电路,现在我采用的是top-down的flow,发现一个现象。
对于pre-inserted-bist的顶层电路,内部仅仅含有memory。而对于posr-inserted-bist电路,内部的memory则是含有bist control logic的circuit。
如前者为在设计上SpRAM_1024Kx36m8 uXXXRAM(.CK(ClkXXXRam), .AD(XXXRAM_RAMADDR), .DI(XXXRAM_RAMWDATA), .DO(XXXRAM_RAMRDATA), .CSN(XXXRAM_RAMCEN), .OEN(1'b0), .RWN(XXXRAM_RAMWEN), .RSTN(1'b1));
后者如下所示:SpRAM_1024Kx36m8_bist SpRAM_1024Kx36m8_bist (.Test_AD_0({mgc_wire_308,
mgc_wire_309, mgc_wire_310, mgc_wire_311, mgc_wire_312, mgc_wire_313,
mgc_wire_314, mgc_wire_315, mgc_wire_316, mgc_wire_317}), .Test_DI_0({
mgc_wire_318, mgc_wire_319, mgc_wire_320, mgc_wire_321, mgc_wire_322,
mgc_wire_323, mgc_wire_324, mgc_wire_325, mgc_wire_326, mgc_wire_327,
mgc_wire_328, mgc_wire_329, mgc_wire_330, mgc_wire_331, mgc_wire_332,
mgc_wire_333, mgc_wire_334, mgc_wire_335, mgc_wire_336, mgc_wire_337,
mgc_wire_338, mgc_wire_339, mgc_wire_340, mgc_wire_341, mgc_wire_342,
mgc_wire_343, mgc_wire_344, mgc_wire_345, mgc_wire_346, mgc_wire_347,
mgc_wire_348, mgc_wire_349, mgc_wire_350}), .Test_RWN_0(mgc_wire_351), .
Test_OEN_0(mgc_wire_352), .Test_CSN_0(mgc_wire_353), .Test_AD_1({
mgc_wire_354, mgc_wire_355, mgc_wire_356, mgc_wire_357, mgc_wire_358,
mgc_wire_359, mgc_wire_360, mgc_wire_361, mgc_wire_362, mgc_wire_363}), .
Test_DI_1({mgc_wire_364, mgc_wire_365, mgc_wire_366, mgc_wire_367,
mgc_wire_368, mgc_wire_369, mgc_wire_370, mgc_wire_371, mgc_wire_372,
mgc_wire_373, mgc_wire_374, mgc_wire_375, mgc_wire_376, mgc_wire_377,
mgc_wire_378, mgc_wire_379, mgc_wire_380, mgc_wire_381, mgc_wire_382,
mgc_wire_383, mgc_wire_384, mgc_wire_385, mgc_wire_386, mgc_wire_387,
mgc_wire_388, mgc_wire_389, mgc_wire_390, mgc_wire_391, mgc_wire_392,
mgc_wire_393, mgc_wire_394, mgc_wire_395, mgc_wire_396}), .Test_RWN_1(
mgc_wire_397), .Test_OEN_1(mgc_wire_398), .Test_CSN_1(mgc_wire_399), .
Test_AD_2({mgc_wire_400, mgc_wire_401, mgc_wire_402, mgc_wire_403,
mgc_wire_404, mgc_wire_405, mgc_wire_406, mgc_wire_407, mgc_wire_408,
mgc_wire_409}), .Test_DI_2({mgc_wire_410, mgc_wire_411, mgc_wire_412,
mgc_wire_413, mgc_wire_414, mgc_wire_415, mgc_wire_416, mgc_wire_417,
mgc_wire_418, mgc_wire_419, mgc_wire_420, mgc_wire_421, mgc_wire_422,
mgc_wire_423, mgc_wire_424, mgc_wire_425, mgc_wire_426, mgc_wire_427,
mgc_wire_428, mgc_wire_429, mgc_wire_430, mgc_wire_431, mgc_wire_432,
mgc_wire_433, mgc_wire_434, mgc_wire_435, mgc_wire_436, mgc_wire_437,
mgc_wire_438, mgc_wire_439, mgc_wire_440, mgc_wire_441, mgc_wire_442}), .
Test_RWN_2(mgc_wire_443), .Test_OEN_2(mgc_wire_444), .Test_CSN_2(
mgc_wire_445), .tst_done(tst_done_mgc_2), .fail_h(fail_h_mgc_2), .Test_DO_0(
{mgc_wire_446, mgc_wire_447, mgc_wire_448, mgc_wire_449, mgc_wire_450,
mgc_wire_451, mgc_wire_452, mgc_wire_453, mgc_wire_454, mgc_wire_455,
mgc_wire_456, mgc_wire_457, mgc_wire_458, mgc_wire_459, mgc_wire_460,
mgc_wire_461, mgc_wire_462, mgc_wire_463, mgc_wire_464, mgc_wire_465,
mgc_wire_466, mgc_wire_467, mgc_wire_468, mgc_wire_469, mgc_wire_470,
mgc_wire_471, mgc_wire_472, mgc_wire_473, mgc_wire_474, mgc_wire_475,
mgc_wire_476, mgc_wire_477, mgc_wire_478}), .Test_DO_1({mgc_wire_479,
mgc_wire_480, mgc_wire_481, mgc_wire_482, mgc_wire_483, mgc_wire_484,
mgc_wire_485, mgc_wire_486, mgc_wire_487, mgc_wire_488, mgc_wire_489,
mgc_wire_490, mgc_wire_491, mgc_wire_492, mgc_wire_493, mgc_wire_494,
mgc_wire_495, mgc_wire_496, mgc_wire_497, mgc_wire_498, mgc_wire_499,
mgc_wire_500, mgc_wire_501, mgc_wire_502, mgc_wire_503, mgc_wire_504,
mgc_wire_505, mgc_wire_506, mgc_wire_507, mgc_wire_508, mgc_wire_509,
mgc_wire_510, mgc_wire_511}), .Test_DO_2({mgc_wire_512, mgc_wire_513,
mgc_wire_514, mgc_wire_515, mgc_wire_516, mgc_wire_517, mgc_wire_518,
mgc_wire_519, mgc_wire_520, mgc_wire_521, mgc_wire_522, mgc_wire_523,
mgc_wire_524, mgc_wire_525, mgc_wire_526, mgc_wire_527, mgc_wire_528,
mgc_wire_529, mgc_wire_530, mgc_wire_531, mgc_wire_532, mgc_wire_533,
mgc_wire_534, mgc_wire_535, mgc_wire_536, mgc_wire_537, mgc_wire_538,
mgc_wire_539, mgc_wire_540, mgc_wire_541, mgc_wire_542, mgc_wire_543,
mgc_wire_544}), .test_h(test_h_mgc_2), .bist_clk(bist_clk_mgc_2), .rst_l(
rst_l_mgc_2));
SpRAM_1024Kx36m8_bist_SpRAM_1024Kx36m8_block uXXXRAM (.CK(ClkXXXRam), .AD(
XXXRAM_RAMADDR), .DI(XXXRAM_RAMWDATA), .DO(XXXRAM_RAMRDATA), .CSN(
XXXRAM_RAMCEN), .OEN(1'b0), .RWN(XXXRAM_RAMWEN), .RSTN(1'b1), .test_DO({
mgc_wire_446, mgc_wire_447, mgc_wire_448, mgc_wire_449, mgc_wire_450,
mgc_wire_451, mgc_wire_452, mgc_wire_453, mgc_wire_454, mgc_wire_455,
mgc_wire_456, mgc_wire_457, mgc_wire_458, mgc_wire_459, mgc_wire_460,
mgc_wire_461, mgc_wire_462, mgc_wire_463, mgc_wire_464, mgc_wire_465,
mgc_wire_466, mgc_wire_467, mgc_wire_468, mgc_wire_469, mgc_wire_470,
mgc_wire_471, mgc_wire_472, mgc_wire_473, mgc_wire_474, mgc_wire_475,
mgc_wire_476, mgc_wire_477, mgc_wire_478}), .test_h(test_h_mgc_2), .test_AD(
{mgc_wire_308, mgc_wire_309, mgc_wire_310, mgc_wire_311, mgc_wire_312,
mgc_wire_313, mgc_wire_314, mgc_wire_315, mgc_wire_316, mgc_wire_317}), .
test_DI({mgc_wire_318, mgc_wire_319, mgc_wire_320, mgc_wire_321,
mgc_wire_322, mgc_wire_323, mgc_wire_324, mgc_wire_325, mgc_wire_326,
mgc_wire_327, mgc_wire_328, mgc_wire_329, mgc_wire_330, mgc_wire_331,
mgc_wire_332, mgc_wire_333, mgc_wire_334, mgc_wire_335, mgc_wire_336,
mgc_wire_337, mgc_wire_338, mgc_wire_339, mgc_wire_340, mgc_wire_341,
mgc_wire_342, mgc_wire_343, mgc_wire_344, mgc_wire_345, mgc_wire_346,
mgc_wire_347, mgc_wire_348, mgc_wire_349, mgc_wire_350}), .test_RWN(
mgc_wire_351), .test_OEN(mgc_wire_352), .test_CSN(mgc_wire_353), .bp_clk(),
.Test_mode(), .rst_l(rst_l_mgc_2));
对于生成的bist电路,由于希望产生bypass Logic,所以在bist电路会生成一个Bypass电路,也会增加一个bp_clk(bypass时钟)和一个控制进入bypass模式的测试信号Test_mode。
现在问题是在生成的bist电路中,这个bp_clk和Test_mode并未连接到我的顶层设计上,请问将该bp_clk以及Test_mode连接到正确的信号上(目前我知道这两个信号在我的顶层中如何连接),请问这个是否可以直接在bistarchitect中实现。莫非真的需要我自己对生成的bist电路再进行重新连接?
求牛人解答,谢谢!
你仔细看看mbistarchitect的manual,应该有connect net之类的命令吧?
请问小编的问题解决了吗,我现在用的时候也遇到了。