Parallel Flash Loader Megafunction User Guide (PDF) - Altera
Parallel Flash Loader Megafunction User Guide (PDF) - Altera
Parallel Flash Loader Megafunction User Guide (PDF) - Altera
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Page 36<br />
PFL <strong>Megafunction</strong> In Embedded Systems<br />
Figure 21 shows the relationship between the PFL megafunction, the CFI flash<br />
memory device, and the Nios II processor.<br />
Figure 21. Relationship Between the Four Sections in the Design Example<br />
CFI <strong>Flash</strong><br />
Memory<br />
Common <strong>Flash</strong><br />
Interface<br />
<strong>Altera</strong> CPLD<br />
PFL<br />
pfl_flash_<br />
access_<br />
granted<br />
pfl_flash_<br />
access_<br />
request<br />
<strong>Altera</strong> FPGA<br />
with<br />
NIOS II Processor<br />
You must configure the <strong>Altera</strong> FPGA with the Nios II processor when you power up<br />
the board. You can store the Nios II processor image in the flash memory device and<br />
use the PFL megafunction to configure the image to the <strong>Altera</strong> FPGA. If you store the<br />
Nios II processor image in the same flash memory device you intend to program, do<br />
not overwrite the Nios II processor image when you program the flash memory<br />
device with other user data.<br />
If you do not want to store the image in the flash memory device, you can store the<br />
Nios II image in a different storage device, for example an enhanced configuration<br />
(EPC) device or an erasable programmable configurable serial (EPCS) memory.<br />
In Figure 21, the Nios II processor and the PFL megafunction share the same bus line<br />
to the flash memory device. However, to avoid data contention, the processor and the<br />
megafunction cannot access or program the flash memory device at the same time. To<br />
ensure that only one controller (the processor or the megafunction), is accessing the<br />
flash memory device at any given time, you must tri-state all output pins from one<br />
controller to the flash memory device, while the other controller is accessing the flash<br />
memory device using the pfl_flash_access_request and<br />
pfl_flash_access_granted pins in the PFL megafunction.<br />
Table 11 lists the pfl_flash_access_request and pfl_flash_access_granted pins<br />
functions.<br />
Table 11. PFL <strong>Flash</strong> Access Pins<br />
Pin<br />
pfl_flash_access_request<br />
pfl_flash_access_granted<br />
Description<br />
The PFL megafunction drives this pin high to request access to<br />
the flash memory device.<br />
The PFL megafunction enables the access to the flash memory<br />
device whenever the PFL megafunction receives a high input<br />
signal at this pin.<br />
May 2013 <strong>Altera</strong> Corporation <strong>Parallel</strong> <strong>Flash</strong> <strong>Loader</strong> <strong>Megafunction</strong> <strong>User</strong> <strong>Guide</strong>