Altera has created EPCS and EPCQ devices, can only these be used to store FPGA configuration data?
up vote
1
down vote
favorite
FPGA configuration data must be stored in external non-volatile memory. Can we use just any flash memory or only specific types? What about EEPROMs or any other nonvolatile memory device?
Edit: I am referring to active configuration where the FPGA configures itself, by itself, without support of an external device like a microcontroller or microprocessor.
fpga intel-fpga configuration intel
add a comment |
up vote
1
down vote
favorite
FPGA configuration data must be stored in external non-volatile memory. Can we use just any flash memory or only specific types? What about EEPROMs or any other nonvolatile memory device?
Edit: I am referring to active configuration where the FPGA configures itself, by itself, without support of an external device like a microcontroller or microprocessor.
fpga intel-fpga configuration intel
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
FPGA configuration data must be stored in external non-volatile memory. Can we use just any flash memory or only specific types? What about EEPROMs or any other nonvolatile memory device?
Edit: I am referring to active configuration where the FPGA configures itself, by itself, without support of an external device like a microcontroller or microprocessor.
fpga intel-fpga configuration intel
FPGA configuration data must be stored in external non-volatile memory. Can we use just any flash memory or only specific types? What about EEPROMs or any other nonvolatile memory device?
Edit: I am referring to active configuration where the FPGA configures itself, by itself, without support of an external device like a microcontroller or microprocessor.
fpga intel-fpga configuration intel
fpga intel-fpga configuration intel
edited 5 hours ago
asked 5 hours ago
quantum231
3,7141254109
3,7141254109
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
2
down vote
You can use any types you like, as long as you provide some circuit that can read the memory and then control the FPGAs configuration interface in an appropriate way to configure the device according to the data in the memory.
For example, a microcontroller could read the flash and send it to the FPGA on its serial or parallel configuration interface.
Or a PC could store the configuration on a hard disk, and send it to a circuit on the PCB with the FPGA, which delivers the data to the FPGA's configuration interface.
The FPGA may also have a built in state machine that can read memory with a specified interface directly, eliminating the need for an external micro or CPLD to operate the configuration interface. The requirements on the flash interface for the FPGA to do this will be spelled out in the documentation for the FPGA. (For Xilinx, there will be a document called the Configuration Guide, but Intel might have a different name for this document or combine it in a general Users Guide).
Yes, the question was meant for active configuration where the FPGA on its own, configures itself. I shall change the question.
– quantum231
5 hours ago
@quantum231 The last paragraph of this answer addresses this case.
– DoxyLover
3 hours ago
add a comment |
up vote
1
down vote
I recently experimented with exactly this stuff. My design uses EPCS16, and I upgraded it to W25Q128FV. It works, but you should know limitations:
- Command set must be compatible with EPCS devices. Actually EPCS16 appears to be manufactured by GigaDevice (manufacturer code 0xc8);
- "Stacked die" devices are claimed as not working for configuration. I can not comment on it as did not use such serial flash devices, but you must keep it in mind. If you decide to use such, further investigation will be needed;
- FPGA will not configure from non-EPCS device if you do not disable checking for silicon ID when making POF file using programming file converter in Quartus software;
- As far as I experienced, Quartus refuses to flash non-EPCS devices with its Quartus programmer in AS mode. I used versions 12 and 13, probably newer versions do allow this (I use BB II, thus forced to use older versions of Quartus software);
- Standard ASMI IP does not allow reading manufacturer ID and bits ID[15:8] from the flash device. Silicon ID and capacity ID are only available. Of course it is possible to modify ASMI module design;
- Last, but very important: reference circuit for EPCS requires some non-power pins - WP and HOLD - connecting to the Vcc. They confirmed it here. If you are going to replace chip with non-Altera one working in x1 mode, you must use 10K resistor pull-ups instead of connecting these pins to Vcc directly.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");
StackExchange.ifUsing("editor", function () {
return StackExchange.using("schematics", function () {
StackExchange.schematics.init();
});
}, "cicuitlab");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "135"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f412518%2faltera-has-created-epcs-and-epcq-devices-can-only-these-be-used-to-store-fpga-c%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
You can use any types you like, as long as you provide some circuit that can read the memory and then control the FPGAs configuration interface in an appropriate way to configure the device according to the data in the memory.
For example, a microcontroller could read the flash and send it to the FPGA on its serial or parallel configuration interface.
Or a PC could store the configuration on a hard disk, and send it to a circuit on the PCB with the FPGA, which delivers the data to the FPGA's configuration interface.
The FPGA may also have a built in state machine that can read memory with a specified interface directly, eliminating the need for an external micro or CPLD to operate the configuration interface. The requirements on the flash interface for the FPGA to do this will be spelled out in the documentation for the FPGA. (For Xilinx, there will be a document called the Configuration Guide, but Intel might have a different name for this document or combine it in a general Users Guide).
Yes, the question was meant for active configuration where the FPGA on its own, configures itself. I shall change the question.
– quantum231
5 hours ago
@quantum231 The last paragraph of this answer addresses this case.
– DoxyLover
3 hours ago
add a comment |
up vote
2
down vote
You can use any types you like, as long as you provide some circuit that can read the memory and then control the FPGAs configuration interface in an appropriate way to configure the device according to the data in the memory.
For example, a microcontroller could read the flash and send it to the FPGA on its serial or parallel configuration interface.
Or a PC could store the configuration on a hard disk, and send it to a circuit on the PCB with the FPGA, which delivers the data to the FPGA's configuration interface.
The FPGA may also have a built in state machine that can read memory with a specified interface directly, eliminating the need for an external micro or CPLD to operate the configuration interface. The requirements on the flash interface for the FPGA to do this will be spelled out in the documentation for the FPGA. (For Xilinx, there will be a document called the Configuration Guide, but Intel might have a different name for this document or combine it in a general Users Guide).
Yes, the question was meant for active configuration where the FPGA on its own, configures itself. I shall change the question.
– quantum231
5 hours ago
@quantum231 The last paragraph of this answer addresses this case.
– DoxyLover
3 hours ago
add a comment |
up vote
2
down vote
up vote
2
down vote
You can use any types you like, as long as you provide some circuit that can read the memory and then control the FPGAs configuration interface in an appropriate way to configure the device according to the data in the memory.
For example, a microcontroller could read the flash and send it to the FPGA on its serial or parallel configuration interface.
Or a PC could store the configuration on a hard disk, and send it to a circuit on the PCB with the FPGA, which delivers the data to the FPGA's configuration interface.
The FPGA may also have a built in state machine that can read memory with a specified interface directly, eliminating the need for an external micro or CPLD to operate the configuration interface. The requirements on the flash interface for the FPGA to do this will be spelled out in the documentation for the FPGA. (For Xilinx, there will be a document called the Configuration Guide, but Intel might have a different name for this document or combine it in a general Users Guide).
You can use any types you like, as long as you provide some circuit that can read the memory and then control the FPGAs configuration interface in an appropriate way to configure the device according to the data in the memory.
For example, a microcontroller could read the flash and send it to the FPGA on its serial or parallel configuration interface.
Or a PC could store the configuration on a hard disk, and send it to a circuit on the PCB with the FPGA, which delivers the data to the FPGA's configuration interface.
The FPGA may also have a built in state machine that can read memory with a specified interface directly, eliminating the need for an external micro or CPLD to operate the configuration interface. The requirements on the flash interface for the FPGA to do this will be spelled out in the documentation for the FPGA. (For Xilinx, there will be a document called the Configuration Guide, but Intel might have a different name for this document or combine it in a general Users Guide).
answered 5 hours ago
The Photon
82.5k396194
82.5k396194
Yes, the question was meant for active configuration where the FPGA on its own, configures itself. I shall change the question.
– quantum231
5 hours ago
@quantum231 The last paragraph of this answer addresses this case.
– DoxyLover
3 hours ago
add a comment |
Yes, the question was meant for active configuration where the FPGA on its own, configures itself. I shall change the question.
– quantum231
5 hours ago
@quantum231 The last paragraph of this answer addresses this case.
– DoxyLover
3 hours ago
Yes, the question was meant for active configuration where the FPGA on its own, configures itself. I shall change the question.
– quantum231
5 hours ago
Yes, the question was meant for active configuration where the FPGA on its own, configures itself. I shall change the question.
– quantum231
5 hours ago
@quantum231 The last paragraph of this answer addresses this case.
– DoxyLover
3 hours ago
@quantum231 The last paragraph of this answer addresses this case.
– DoxyLover
3 hours ago
add a comment |
up vote
1
down vote
I recently experimented with exactly this stuff. My design uses EPCS16, and I upgraded it to W25Q128FV. It works, but you should know limitations:
- Command set must be compatible with EPCS devices. Actually EPCS16 appears to be manufactured by GigaDevice (manufacturer code 0xc8);
- "Stacked die" devices are claimed as not working for configuration. I can not comment on it as did not use such serial flash devices, but you must keep it in mind. If you decide to use such, further investigation will be needed;
- FPGA will not configure from non-EPCS device if you do not disable checking for silicon ID when making POF file using programming file converter in Quartus software;
- As far as I experienced, Quartus refuses to flash non-EPCS devices with its Quartus programmer in AS mode. I used versions 12 and 13, probably newer versions do allow this (I use BB II, thus forced to use older versions of Quartus software);
- Standard ASMI IP does not allow reading manufacturer ID and bits ID[15:8] from the flash device. Silicon ID and capacity ID are only available. Of course it is possible to modify ASMI module design;
- Last, but very important: reference circuit for EPCS requires some non-power pins - WP and HOLD - connecting to the Vcc. They confirmed it here. If you are going to replace chip with non-Altera one working in x1 mode, you must use 10K resistor pull-ups instead of connecting these pins to Vcc directly.
add a comment |
up vote
1
down vote
I recently experimented with exactly this stuff. My design uses EPCS16, and I upgraded it to W25Q128FV. It works, but you should know limitations:
- Command set must be compatible with EPCS devices. Actually EPCS16 appears to be manufactured by GigaDevice (manufacturer code 0xc8);
- "Stacked die" devices are claimed as not working for configuration. I can not comment on it as did not use such serial flash devices, but you must keep it in mind. If you decide to use such, further investigation will be needed;
- FPGA will not configure from non-EPCS device if you do not disable checking for silicon ID when making POF file using programming file converter in Quartus software;
- As far as I experienced, Quartus refuses to flash non-EPCS devices with its Quartus programmer in AS mode. I used versions 12 and 13, probably newer versions do allow this (I use BB II, thus forced to use older versions of Quartus software);
- Standard ASMI IP does not allow reading manufacturer ID and bits ID[15:8] from the flash device. Silicon ID and capacity ID are only available. Of course it is possible to modify ASMI module design;
- Last, but very important: reference circuit for EPCS requires some non-power pins - WP and HOLD - connecting to the Vcc. They confirmed it here. If you are going to replace chip with non-Altera one working in x1 mode, you must use 10K resistor pull-ups instead of connecting these pins to Vcc directly.
add a comment |
up vote
1
down vote
up vote
1
down vote
I recently experimented with exactly this stuff. My design uses EPCS16, and I upgraded it to W25Q128FV. It works, but you should know limitations:
- Command set must be compatible with EPCS devices. Actually EPCS16 appears to be manufactured by GigaDevice (manufacturer code 0xc8);
- "Stacked die" devices are claimed as not working for configuration. I can not comment on it as did not use such serial flash devices, but you must keep it in mind. If you decide to use such, further investigation will be needed;
- FPGA will not configure from non-EPCS device if you do not disable checking for silicon ID when making POF file using programming file converter in Quartus software;
- As far as I experienced, Quartus refuses to flash non-EPCS devices with its Quartus programmer in AS mode. I used versions 12 and 13, probably newer versions do allow this (I use BB II, thus forced to use older versions of Quartus software);
- Standard ASMI IP does not allow reading manufacturer ID and bits ID[15:8] from the flash device. Silicon ID and capacity ID are only available. Of course it is possible to modify ASMI module design;
- Last, but very important: reference circuit for EPCS requires some non-power pins - WP and HOLD - connecting to the Vcc. They confirmed it here. If you are going to replace chip with non-Altera one working in x1 mode, you must use 10K resistor pull-ups instead of connecting these pins to Vcc directly.
I recently experimented with exactly this stuff. My design uses EPCS16, and I upgraded it to W25Q128FV. It works, but you should know limitations:
- Command set must be compatible with EPCS devices. Actually EPCS16 appears to be manufactured by GigaDevice (manufacturer code 0xc8);
- "Stacked die" devices are claimed as not working for configuration. I can not comment on it as did not use such serial flash devices, but you must keep it in mind. If you decide to use such, further investigation will be needed;
- FPGA will not configure from non-EPCS device if you do not disable checking for silicon ID when making POF file using programming file converter in Quartus software;
- As far as I experienced, Quartus refuses to flash non-EPCS devices with its Quartus programmer in AS mode. I used versions 12 and 13, probably newer versions do allow this (I use BB II, thus forced to use older versions of Quartus software);
- Standard ASMI IP does not allow reading manufacturer ID and bits ID[15:8] from the flash device. Silicon ID and capacity ID are only available. Of course it is possible to modify ASMI module design;
- Last, but very important: reference circuit for EPCS requires some non-power pins - WP and HOLD - connecting to the Vcc. They confirmed it here. If you are going to replace chip with non-Altera one working in x1 mode, you must use 10K resistor pull-ups instead of connecting these pins to Vcc directly.
edited 2 hours ago
answered 2 hours ago
Anonymous
5,0451729
5,0451729
add a comment |
add a comment |
Thanks for contributing an answer to Electrical Engineering Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f412518%2faltera-has-created-epcs-and-epcq-devices-can-only-these-be-used-to-store-fpga-c%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown