I am using Altera Stratix II FPGA and also power supervisor circuit which generates reset which it tied to nCONFIG for configuration of the FPGA. Now, I'd like to generate RESET for the FPGA after the configuration and Initialization is complete everytime. I can't find a part that can do that..any suggetions?
reset
Started by ●November 2, 2006
Reply by ●November 2, 20062006-11-02
There are many ways to do this--here's one idea: You can use the conf_done pin to trigger a reset chip (maxim/dallas has plenty of choices) and tie it to the appropriate pin on the FPGA, probably the DEV_CLRn (device wide asynchronous reset). <martstev@gmail.com> wrote in message news:1162498322.376240.187270@e3g2000cwe.googlegroups.com...>I am using Altera Stratix II FPGA and also power supervisor circuit > which generates reset which it tied to nCONFIG for configuration of > the FPGA. Now, I'd like to generate RESET for the FPGA after the > configuration and Initialization is complete everytime. I can't find a > part that can do that..any suggetions? >
Reply by ●November 3, 20062006-11-03
martstev@gmail.com wrote:> I am using Altera Stratix II FPGA and also power supervisor circuit > which generates reset which it tied to nCONFIG for configuration of > the FPGA. Now, I'd like to generate RESET for the FPGA after the > configuration and Initialization is complete everytime. I can't find a > part that can do that..any suggetions? >or use something like ff_resetn:process(boot_clk) begin if (boot_clk'event and boot_clk='1') then if (reset_cnt/="111") then reset_cnt<=reset_cnt + 1; end if; reset_n<=(reset_cnt(2) AND reset_cnt(1) AND reset_cnt(0)); end if; end process; ff_reset:process(boot_clk) begin if (boot_clk'event and boot_clk='1') then reset<=not reset_n; end if; end process;
Reply by ●November 3, 20062006-11-03
> > or use something like > > ff_resetn:process(boot_clk) > begin > if (boot_clk'event and boot_clk=3D'1') then > if (reset_cnt/=3D"111") then > reset_cnt<=3Dreset_cnt + 1; > end if; > reset_n<=3D(reset_cnt(2) AND reset_cnt(1) AND reset_cnt(0)); > end if; > end process; > > ff_reset:process(boot_clk) > begin > if (boot_clk'event and boot_clk=3D'1') then > reset<=3Dnot reset_n; > end if; > end process;How do you know which value "reset_cnt" will start with after configuration ? Rgds Andr=E9
Reply by ●November 3, 20062006-11-03
martstev@gmail.com wrote:> I am using Altera Stratix II FPGA and also power supervisor circuit > which generates reset which it tied to nCONFIG for configuration of > the FPGA. Now, I'd like to generate RESET for the FPGA after the > configuration and Initialization is complete everytime. I can't find a > part that can do that..any suggetions?If you are reconfiguring the part on reset, why do you want to reset the design again? The design will come up in the "reset" state after configuration. Perhaps I'm missing something, but it seems redundant to async reset an FPGA right after configuration?
Reply by ●November 4, 20062006-11-04
ALuPin@web.de wrote:>> or use something like >> >> ff_resetn:process(boot_clk) >> begin >> if (boot_clk'event and boot_clk='1') then >> if (reset_cnt/="111") then >> reset_cnt<=reset_cnt + 1; >> end if; >> reset_n<=(reset_cnt(2) AND reset_cnt(1) AND reset_cnt(0)); >> end if; >> end process; >> >> ff_reset:process(boot_clk) >> begin >> if (boot_clk'event and boot_clk='1') then >> reset<=not reset_n; >> end if; >> end process; > > How do you know which value "reset_cnt" will start with after > configuration ? > Rgds > Andr� >you just write signal reset_cnt : std_logic_vector(2 downto 0) := (others=>'0'); so that when the FPGA is configured it always starts at 0
Reply by ●November 6, 20062006-11-06
Reply by ●November 6, 20062006-11-06
<ALuPin@web.de> wrote in message news:1162800744.822146.61370@f16g2000cwb.googlegroups.com...> No. > > := (others=>'0'); > > in signal declarations are not synthesizable. > > RgdsWhether or not it is synthesizable depends on the synthesis tool and the target device. Specifying the power up default value for the output of a clocked register certainly can be synthesizable. In fact both brand 'A' and brand 'X' (and I'm sure others) FPGAs do specify that registers are reset at the completion of configuration which is the FPGA equivalent of 'power up' so the construct certainly is synthesizable. One should tread with care though and probably limit the usage of default values to only those signals that have to do directly with generating the internal reset signal as was mentioned earlier in the post. One should probably also only try to only use a default value of '0' as well since most (all?) FPGAs will clear the flip flops not set some of them to '0' and others to '1'. There is a very simple technique that can be used that would allow a default value of '1' to be specified in the code even though the flip flop resets to '0' but then you'll be counting on the synthesis tool to implement this. KJ
Reply by ●November 6, 20062006-11-06
KJ wrote:> > One should tread with care though and probably limit the usage of default > values to only those signals that have to do directly with generating the > internal reset signal as was mentioned earlier in the post. One should > probably also only try to only use a default value of '0' as well since most > (all?) FPGAs will clear the flip flops not set some of them to '0' and > others to '1'. There is a very simple technique that can be used that would > allow a default value of '1' to be specified in the code even though the > flip flop resets to '0' but then you'll be counting on the synthesis tool to > implement this.The synthesis tools I have used correctly synthesize even non '0' declaration initializations, and X does support non '0' initialization. And this is very handy in a lot of places. For example, I often use this to set the default value of registers, since I know that software will not attempt to change the registers until long after the FPGA has initialized.
Reply by ●November 6, 20062006-11-06
radarman wrote:> martstev@gmail.com wrote: > > I am using Altera Stratix II FPGA and also power supervisor circuit > > which generates reset which it tied to nCONFIG for configuration of > > the FPGA. Now, I'd like to generate RESET for the FPGA after the > > configuration and Initialization is complete everytime. I can't find a > > part that can do that..any suggetions? > > If you are reconfiguring the part on reset, why do you want to reset > the design again? The design will come up in the "reset" state after > configuration. Perhaps I'm missing something, but it seems redundant to > async reset an FPGA right after configuration?One case might be when you want the reset behaviour to set a flip flop to '1' instead of '0' (like in a one hot state machine encoding) and the synthesis tool/target device combo doesn't happen to support this. If you have this, then the problem is with the synthesis tool (so open a service request and raise your beef) but in the mean time you need a work around. So if you happen to have that particular scenario, but your device globally clears all flip flops to 0 then you could use the "reset to 0 coming out of configuration" to create an internal reset signal for the rest of the design. Then you use that internal reset signal to put the entire design into the state that you want as specified by your HDL instead of as specified by the device manufacturer. KJ





