Forum Discussion
5 Replies
- Altera_Forum
Honored Contributor
In Quartus > project > settings > assembler (or elsewhere), you get an option for DEV_CLR_n pin : "Active low device clear registers" OR "user I/O pin", opt for the first.
You don't have to code something : it is already connected to (asynchronous clear of) registers, I think. Keep in mind that Quartus may add NOT gate push back, it depends of at which value do you clear your signals AND how Quartus synthesizes (have a look at warning messages). May an other one be more expert on that. - Altera_Forum
Honored Contributor
--- Quote Start --- In Quartus > project > settings > assembler (or elsewhere), you get an option for DEV_CLR_n pin : "Active low device clear registers" OR "user I/O pin", opt for the first. You don't have to code something : it is already connected to (asynchronous clear of) registers, I think. Keep in mind that Quartus may add NOT gate push back, it depends of at which value do you clear your signals AND how Quartus synthesizes (have a look at warning messages). May an other one be more expert on that. --- Quote End --- Yes, I have selected the first option and I understand that it will connect the external reset signal to all of the registers async clr. Now what I want to be able to do is to connect that global DEV_CLRn signal to some combinatorial logic in the device. How do I connect to that signal to the combinatorial logic? For example in Verilog: assign signal1 = DEV_CLRn & signal2; How do I get access to the DEV_CLRn signal to do this? - Altera_Forum
Honored Contributor
If you opt DEV_clr_n as reserved pin for clearing registers, that is what you did, you can NOT use it in your design as a user signal.
If you want to use this pin, set it as a "user I/O", in your TOP LEVEL ports, add "DEV_CLRn" input (user input) and in pin planner assign this user "DEV_CLRn" to "DEV_clr_n" pin (=B3 for Cyclone II). ReThink your equation : I don't know Verilog, but I guess assign signal1 = DEV_CLRn & signal2; is "signal1 receives DEV_CLRn AND signal2" So if DEV_CLRn = '0' then signal 1 = '0' - Altera_Forum
Honored Contributor
--- Quote Start --- If you opt DEV_clr_n as reserved pin for clearing registers, that is what you did, you can NOT use it in your design as a user signal. If you want to use this pin, set it as a "user I/O", in your TOP LEVEL ports, add "DEV_CLRn" input (user input) and in pin planner assign this user "DEV_CLRn" to "DEV_clr_n" pin (=B3 for Cyclone II). ReThink your equation : I don't know Verilog, but I guess assign signal1 = DEV_CLRn & signal2; is "signal1 receives DEV_CLRn AND signal2" So if DEV_CLRn = '0' then signal 1 = '0' --- Quote End --- Yes, but if I make it user I/O, it will no longer do the asyn reset to all the flops in the part. I still want that plus I want to use the input for other things. - Altera_Forum
Honored Contributor
Sorry, I was not clear on my previous post. I will re-state.
Yes, but if I make it user I/O, it will no longer do the asyn reset to all the flops in the part. I still want that plus I want to use the reset signal on that input for things other than resetting all the flops, such as use in some combinatorial logic.