View Full Version : FPGA tell me more...
kc2orw
08-04-2007, 01:39 PM
I got an FPGA kit from http://www.knjn.com/board_plutos.html pretty nice for the price. The Pluto (not II or 3) is what I have and I just broke it out after having it stored away for quite some time.
I know I can use the free Altera Quartus II Web Edition Dev environment but I had a desire to try and do this with Icarus Verilog. Unfortunately it seems that a Xilinx board is a better fit for IVerilog then the Altera based board is. Any of you FPGA freaks/guru's have any suggestions on that, correction (to my posting), etc on that one?
I also happen to have a spare EZ-Kit lite board if anyone wants it for some trivial sum including the shipping. No spare docs, no software but it is out there somewhere in hacker land, I found it a while back...
Oh well just something else to talk about if anyone is interested, feel free to tell me more or instruct, suggest, or chide if one is inclined :lol:
I am definitely in no position to chide anybody when it comes to FPGA's.
I know practically zero about Verilog. When I started looking at these about seven years ago, the sales reps were saying that Verilog was about to become obsolete and people would only be using VHDL.
Schematic capture captured my interest. I used it in the Foundation development for Xilinx. I have also used it and VHDL in Actel FPGA development with Libero. I have gotten to learn to like the idiosyncrasies of the Libero software. It was a real headache to learn, but fairly powerful in that it can be reconfigured to work the way you like.
Right now, I am contemplating taking classes at the Jr. College for programmable logic. That stuff totally fascinates me and I always want to learn more.
I have never played with Altera or the software. I am hoping 1LAF will hop in and provide a real background in FPGA development. I am more analog in reality.
N1LAF
08-07-2007, 01:53 PM
I do use VHDL, it is very common and probably the largest standard in FPGA firmware development. But, I see schematics a lot easier than code. So I have a middle ground. I use OrCAD Schematic Capture to develop my firmware schematics, and OrCAD will export to VHDL. The OrCAD export only shows component interconnects, it does not have the architectures, because it just places pictures and creates netlists. To complete the picture, I wrote an application in LabVIEW to read in the OrCAD export, and append a 'library' of architectures for all the components, automatically. The neat thing is the firmware I wrote for Lattice device, I can recompile and use on Actel devices, and others, so I am not device limited.
VHDL example:Dual DFF register
-----------------------------------------
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
ENTITY DFF2 IS
PORT (
D0 : IN std_logic;
D1 : IN std_logic;
Q0 : OUT std_logic;
Q1 : OUT std_logic;
CL : IN std_logic;
CK : IN std_logic
);
END ENTITY;
ARCHITECTURE behavioral OF DFF2 IS
begin
process (CK,CL)
begin
if (CL = '1') then
Q0 <= '0';
Q1 <= '0';
elsif (CK'event and CK='1') then
Q0 <= D0;
Q1 <= D1;
end if;
end process;
END behavioral;
--------------------------------------------
The first part is describing the entity, called DFF2. In the ENTITY block, it describes the connections and direction of each connection.
The architecture describes how the device works. This is a behavioral that will synthesis to a component. All architectures starts with begin. The next part of this behavioral is a process that starts on any state changes within the parameter brackets. In this case, it is CK (Clock) and CL (Clear). In this case, if CL is '1', it performs clear on the register outputs. For CK, CK'event and CK='1' is a fancy way of saying on state change on rising edge of clock, do this. Each begin is terminated by an end.
Soon, I will post a small example of an OrCAD schematic to firmware code.
kc2orw
08-07-2007, 02:06 PM
Okay so while everybody has finally found this one let me ask about SPOC "Soft PrOcessor Core" and what I could get out of this. Naturally I would like all suggestion to be about Ham Radio applications.
I found an incomplete tutorial on SPOC here http://www.fpga4fun.com/spoc.html
Naturally I am just getting started and I can see there are a lot of boiler plates to help me get started coarse I have to figure out how to tie everything together :lol:
PS: I found this interesting write up on 15-25 MHz Fractional-N Synthesizer which gave some information on Dual DFF in a circuit. I suppose I should be honest LAF you threw me off with the term :lol: but thats okay that's what google is good for, educating oneself :lol:
http://www.holmea.demon.co.uk/Frac2/Main.htm
N1LAF
08-07-2007, 02:30 PM
Soft core processors will allow you to customize a processor, or even design your own, and embed it in an FPGA device. I will fast forward to Actel Fusion FPGA devices, where not only they have ARM7 embedded processor capability, but can also process analog data with its internal 12 bit ADC's. The Fusion devices also comes with a limited amount of memory used for programming, instead of relying on external memory. We are closer now to reprogrammable system on a chip. Uses can be read/write PSK/RTTY/CW, take in keyboard by USB directly, and to support a display device, without the need for a computer. Stand-alone, low power.
I am developing a board that uses the embedded ARM7 processor, that has both FLASH memory and SRAM memory. FLASH memory is not fast, so at bootup, the SRAM is loaded by the contents of the FLASH memory, then the processor will execute from the much faster SRAM memory. I will also use the Micrel dual port ethernet PHY/MAC device for network connectivity.
N3ATS
08-07-2007, 02:41 PM
WTF are you guys talking about? :lol:
FPGA
Picture in your mind a device that you can program to be the logic device that you want it to be. Registers, counters, gates, flops. Configure them to do what you want. Like an electronic keyer. You can decide what pins are inputs, outputs, what the pins are to be used for, the configuration of the logic in a manner that will accomplish what you want to see happen when you do something to this device input. Maybe one input is the iambic dot input and the next one is the iambic dash input. You can have counters in there that time the dot and the dash. Maybe there are 16 or 17 bit words that you want to use to define the code speed desired. Yeah. 17 bit words. You make up what you want. It is your design.
The only requirement is that it pretty much stays a digital design.
kc2orw
08-07-2007, 02:52 PM
Nice one LAF I will definitely have a few more ignorant questions to ask but I have already increased my understanding, a lot. Glad to have someone who has a lot experience to pose nearly imbecilic question to...
I think I will read the write up on "Fractional-N Synthesizer" and see what ideas get sparked from that one
kc2orw
08-07-2007, 02:53 PM
WTF are you guys talking about? :lol:
All good stuff Steve ;)
http://www.fpga4fun.com/
Man, that site is kinky:
The female connector goes on Flash's bottom. :shock:
KU4MY
08-07-2007, 04:27 PM
Man, that site is kinky:
The female connector goes on Flash's bottom. :shock:
HiRez or STFU!
There are no stupid questions.
But anyway, now we know what to do with the female connector.
N1LAF
08-07-2007, 10:05 PM
There are no stupid questions.
But anyway, now we know what to do with the female connector.
Question is: Do you know what to do with the male plug? {being a wiseguy}
kc2orw
08-07-2007, 10:23 PM
There are no stupid questions.
But anyway, now we know what to do with the female connector.
Question is: Do you know what to do with the male plug? {being a wiseguy}
Wow maybe someone could explain that to me bout time :lol:
kf0rt
08-08-2007, 06:16 AM
Good article on FPGA's on der Wiki:
http://en.wikipedia.org/wiki/Fpga
It's interesting to note that this was (sort of) the premise for the original microprocessor (Intel 4004). As I recall, the company that contracted Intel for this wanted a single chip that could be programmed to emulate many other chips. Today's FPGA's do that on steroids, while the 4004 evolved into dual-core Pentiums.
The 4004 became the 8008, then the 8080. Intel had a number of versions of the 8080, including the 8088 (used in the original IBM PC), 80188 and 80186. The 8088 was discontinued many years ago, but the 80188 and 80186 were just discontinued this year after a production run of over 25 years.
kc2orw
08-08-2007, 08:02 AM
Nice VHDL reference:
http://www.eng.auburn.edu/department/ee/mgc/vhdl.html
Nice General Reference:
http://www.fpga-faq.org/FAQ_Root.htm
N1LAF
08-10-2007, 09:10 PM
The big FPGA/CPLD Manufacturers:
http://www.latticesemi.com
http://www.actel.com
http://www.xilinx.com
http://www.altera.com
http://www.atmel.com
http://www.quicklogic.com
N1LAF
08-10-2007, 09:26 PM
The CPU86 source code is licensed under the Aladdin Free Public license (AFPL). The CPU86 was developed from scratch using public available information only. The remaining source files are released under GNU General Public License.
http://www.ht-lab.com/freecores/cpu8086/cpu86.html
The CPU86 source code is licensed under the Aladdin Free Public license (AFPL). The CPU86 was developed from scratch using public available information only. The remaining source files are released under GNU General Public License.
http://www.ht-lab.com/freecores/cpu8086/cpu86.html
Thanks. That's really cool.
Powered by vBulletin® Version 4.2.0 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.