First, full disclosure: I used to work for Xilinx. I used to work for other FPGA companies. I do consulting engineering using FPGAs I am the owner of www.fpga-faq.org I think FPGAs are cool. I designed and built the first CPU in an FPGA, the RISC4005, in 1990 (it took a while for the idea to catch on) >But to be super sure I'm in the right place, What I want to do is write >in some HDL, connect Nots, Nands, Ors, Muxen, all together an design my >own CPU, as well as memory? I'm in the right place with FPGA's yes? by "place" do you mean 'the right maillist to talk about FPGAs', or 'should you be using an FPGA'? This mail list is focussed on people using PIC microprocessors, but seems quite tolerant of other topics provided appropriate use of [OT] is used. This maillist is also much more active than a Yahoo group specifically intended for your topic: http://groups.yahoo.com/neo/groups/fpga-cpu/info which is not dead, but has almost no activity. The other place is over on google groups: https://groups.google.com/forum/#!forum/comp.arch.fpga As for the platform for implementing a CPU, the FPGA is the perfect device for someone to experiment with CPU design, tradeoff experimentation, and also learning digital hardware design. Go for it!. Given my experience, I will describe things in terms of Xilinx, but other FPGA vendors have similar offerings. They are Altera, Lattice, and Microsemi. (there are others...) >And if so, is this something the Arduino IDE does? No. The Arduino IDE supports software development for Arduino type devices, which are CPUs. There is no support for FPGAs in the Arduino IDE. Each FPGA vendor has their own IDE. I am assuming from your postings that you are coming to hardware design from a software background. While the software experience will help you in writing the software for your CPU when it is complete, and maybe help you in deciding what instructions your CPU should implement, it can be a hinderance to learning to do hardware design with HDL. The reason is that the HDL will look like a programming language, and you will be tempted to try using it that way. This is incorrect. HDL is a Hardware Description Language. It describes hardware, it is not a program that gets executed. If you think of a HDL file as a type of datasheet, that would be better. The two most common HDLs are Verilog and VHDL. Someone else mentioned the Blue Book. I recommend it too= .. "HDL Chip Design" by Douglas J Smith. It covers both Verilog and VHDL. http://www.abebooks.com/servlet/SearchResults?sts=3Dt&tn=3Dhdl+chip+design http://www.amazon.com/Hdl-Chip-Design-Synthesizing-Simulating/dp/0965193438 An IDE for FPGA design usually includes the following: Text editor that can do syntax highlighting for HDL Simulation (simulates the HDL, without actually creating an FPGA design) Translation/Synthesis (turns you HDL into a gate level description) Placement (finds a placement of the gates for the target FPGA) Routing (figures out how to connect all the gates and flipflops etc) Timing analysis Bitstream generation Debugging tools Module generation tools Visual editors/viewers that may help in pin allocation, and logic placemen= t Stuff I have forgotten. In Xilinx's case, there are two IDEs: ISE and Vivado. ISE handles all the older products, such as Spartan 3 and 6, and Virtex 2, 4, 5, 6, products through to the latest Series 7 and Zynq. Vivado is a new IDE and new set of tools, that supports Series 7, Zynq, and future products. For you, I recommend either Spartan 3 or 6 since the available boards are less expensive, and more than capable of supporting your intended project. That means ISE. Xilinx has a free version of ISE called WebPack, that supports the smaller FPGAs, which covers all of the low cost FPGA boards with Xilinx chips listed above. http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack= ..htm The most recent version is ISE 14.6 and you will be delighted to hear that the download is about 7.5 GB because it contains everything you need and a huge amount of stuff you don't, because it is the full ISE paid for packa= ge. The WebPack subset is activated during install, when you tell it you only want WebPack (free stuff) features. >I downloaded Xlinx Vivado, because that's what I thought it does, but it >is such a huge monster of a program that I couldn't install it on my lapto= p. Time to upgrade you laptop :-) In terms of shopping for a board with an FPGA, any of the following are sufficient for you to design and build a CPU. http://www.gadgetfactory.net/papilio/ (3 variants) http://www.xess.com/shop/product/xula-200/ http://www.xess.com/shop/product/xula2-lx25/ http://www.altera.com/education/univ/materials/boards/de0-nano/unv-de0-nan= o-board.html http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm You might also want to look here: http://www.fpga-faq.org/FPGA_Boards.shtml which lists 100's of FPGA boa= rds!!! An excelent tutorial on designing FPGA CPUs can be found here: http://www.fpgacpu.org/xsoc/cc.html and in particular: http://www.fpgacpu.org/papers/xsoc-series-drafts.pdf >If I use the Xilinx Vivado to do the design, will that work with the other >brands like Lattice? Nope. Have fun !!!!! Philip Freidin --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .