Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

max3000 GCLK, GCLR, OE pins use

Hi,

what one should do in Quartus II for global signals GCLK, GCLR and OE proper organization?

For example, a Schematic File for MAX3000 design contains

LPM_COUNTER with

'clock', 'clk_en' (clock enable) and 'aclr' (async Clr) Inputs and

'cout' (carry-out) Output

which are correspondently connected to Input and Output pins of the Schematic File:

<clk>, <eclk>, <clr>,

<out>

For GCLK1 signal (to make it really global clock): is it sufficient

- to place <clk> input pin,

- to connect it to the 'clock' pin of the LPM_COUNTER,

- to assign the <clk> input to the Global Clock pin in the Pin Planner,

- in 'More Analysis & Synthesis Settings' the 'Auto Global Clolck' option set On?

For GCLR signal (to make it really global clear): is it sufficient

- to place <clr> input pin,

- to connect it to the 'aclr' pin of the LPM_COUNTER,

- to assign the clr input to the Global Clear pin in the Pin Planner?

And how the Global OE signal should be used to provide tri-state output on pin <out>, which is connected to 'cout' LPM_COUNTER pin?

Should be

- OE pin placed and assigned in Pin Planner to Global OE pin

- tri-state primitives be placed for each output and controlled by the Global OE signal?

4 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Even though an LPM_COUNTER has "lots" of ports, you do not need to use them all, or connect them all to the top-level pins on the part.

    Typically your top-level pins would include; clock and reset (or resetN), and board-level I/O.

    The LPM_COUNTER has an active high reset (aclr), whereas some of your other components may have active low reset (rstN). If your top-level reset was active-low too, eg., ext_rstN, then you can use an inverter to create your active high reset for the LPM_COUNTER.

    I'd recommend getting your design complete first, and then worry about the top-level pin assignments. You can synthesize the design using Quartus and look at its warning messages to see if there are problems.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Dave,

    thank You for Your answers here and about MOSFET as PWR switch.

    I have some number of MAX3000 finished projects, but haven't yet clear understanding about global pins assignment and connecting in Schematic File.

    All warnings in finished projects were examined and after corrections disappeared. I don't know, where in reports one may find info about pin's "globality". For example, file *.pin doesn't contain any comments about this.

    Here LPM_COUNTER is simplified assumption only for illustrating the question and getting answers for concret example.

    As for LPM_COUNTER's another pins - I wrote mainly about LPM_COUNTER pins which I want to connect to external global pins to get their advantages.

    I can't find clear answer, what one should do to make pins global in Quartus project. So I wrote, as I understand this procedure.

    May You write, are the procedure correct or how it should be changed.

    (see the questions in the 1st post - would be <clk> and <clr> pins global and how one may organize try-state outputs, using OE)

    ____

    Simplified example:

    Let Schematic has CLK, OE inputs and output OUT

    when

    OE=1 OUT=CLK,

    OE=0 OUT - tri-state output

    what I should do in Quartus II to make OE and CLK global

    - in Schematic File

    - in Pin Planner

    - in Settings

    In which report I may find info about globality of CLK and OE pins?

    Best regards,

    Vadim
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Vadim,

    Global pins should be used for global signals such as clock and reset. Have you tried performing a timing analysis using Quartus? The MAX3000 devices are simple devices, so they are unlikely to be flexible with which pins can be used without Quartus giving warnings. For example, create a design containing multiple instances of counters with clock and reset inputs, and perhaps route all carry-outs to pins. Assign the clock and reset to global pins, synthesize the design, and look at the timing. Then change the clock or reset to a non-global pin and see how the timing changes. To get a better feeling for how the timing changes, try and fill the device with counters, and try changing the counter widths.

    To answer your specific questions; clock and reset should use global input pins (these are usually listed in the pin files for the devices and in the Quartus pin planner GUI). Your tri-state outputs can be controlled however you see fit, eg., by logic within the MAX3000 or an external control signal. Its unlikely that OE needs to use a global input, but there is no harm in using one either. You do not need to use OE at all if the signal from the MAX3000 is an output-only, i.e., only routes to the inputs of external devices.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Have you tried performing a timing analysis using Quartus? The MAX3000 devices are simple devices, so they are unlikely to be flexible with which pins can be used without Quartus giving warnings. For example, create a design containing multiple instances of counters with clock and reset inputs, and perhaps route all carry-outs to pins. Assign the clock and reset to global pins, synthesize the design, and look at the timing. Then change the clock or reset to a non-global pin and see how the timing changes. To get a better feeling for how the timing changes, try and fill the device with counters, and try changing the counter widths.

    --- Quote End ---

    Thank You, it's interesting, I'll try.

    --- Quote Start ---

    To answer your specific questions; clock and reset should use global input pins (these are usually listed in the pin files for the devices and in the Quartus pin planner GUI). Your tri-state outputs can be controlled however you see fit, eg., by logic within the MAX3000 or an external control signal. Its unlikely that OE needs to use a global input, but there is no harm in using one either. You do not need to use OE at all if the signal from the MAX3000 is an output-only, i.e., only routes to the inputs of external devices.

    --- Quote End ---

    It seems, in real project "output-only" outputs to be required, but a 16-lines bus variant with tri-state was concerned too.

    So as EPM3032 has two global pins OE1 and OE2/GCLK2, I want to understand, how it should be used to organize 16 tri-state outputs

    - should I place 16 tri-state primitives and control them with global OE drawing corresponding lines to each primitive in Schematic

    or

    - I should change some settings and don't place tri-state primitives on Schematic?

    Best regards,

    Vadim