Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › learn verilog with no programming experience?
New Posts  All Forums:Forum Nav:

learn verilog with no programming experience?

post #1 of 10
Thread Starter 
I want to learn how to program FPGAs using verilog. I have a good bit of computer experience, but almost no programming experience. Can I learn verilog without any other programming experience?
If not, what language should I learn first?
If I can, are there any online tutorials/books that can teach verilog to a programming beginner?
W.O.P.R.
(15 items)
 
HAL 9000
(9 items)
 
 
CPUMotherboardGraphicsRAM
i7 2600k P67A-UD4 palit gtx 570 sonic platinum 2x4gb g.skill ripjaws 1600 7-8-7-24 
Hard DriveHard DriveOptical DriveCooling
Crucial M4 samsung spinpoint f3 one that works h70 
OSMonitorKeyboardPower
Windows 7 BSOD edition sony fw900 $10 at walmart xfx black edition 850w 
CaseMouseMouse Pad
antec lanboy air blue razer SWTOR MMO mouse razer kabuto 
CPUMotherboardGraphicsRAM
Core 2 Quad Q9450 Asus P5K Deluxe Sapphire 5850 Corsair/Crucial DDR2 800 
Hard DriveCoolingOSPower
Western Digital Blue Cooler Master Hyper 212 EVO Windows 7 BSOD edition Rosewill Green 530w 
Case
NZXT Gamma 
  hide details  
Reply
W.O.P.R.
(15 items)
 
HAL 9000
(9 items)
 
 
CPUMotherboardGraphicsRAM
i7 2600k P67A-UD4 palit gtx 570 sonic platinum 2x4gb g.skill ripjaws 1600 7-8-7-24 
Hard DriveHard DriveOptical DriveCooling
Crucial M4 samsung spinpoint f3 one that works h70 
OSMonitorKeyboardPower
Windows 7 BSOD edition sony fw900 $10 at walmart xfx black edition 850w 
CaseMouseMouse Pad
antec lanboy air blue razer SWTOR MMO mouse razer kabuto 
CPUMotherboardGraphicsRAM
Core 2 Quad Q9450 Asus P5K Deluxe Sapphire 5850 Corsair/Crucial DDR2 800 
Hard DriveCoolingOSPower
Western Digital Blue Cooler Master Hyper 212 EVO Windows 7 BSOD edition Rosewill Green 530w 
Case
NZXT Gamma 
  hide details  
Reply
post #2 of 10
Either C or Java is a great place to start learning programming, which will then help you learn most languages out there. A simple google search will return you tutorials.
post #3 of 10
Thread Starter 
I am not sure if i was totally clear. I have an FPGA that I want to program. To program it, i need to learn Verilog. I have searched online for verilog tutorials, but all of them require experience with C or another programming language.
Are there any tutorials/books/etc that teach verilog to someone with no programming experience?
W.O.P.R.
(15 items)
 
HAL 9000
(9 items)
 
 
CPUMotherboardGraphicsRAM
i7 2600k P67A-UD4 palit gtx 570 sonic platinum 2x4gb g.skill ripjaws 1600 7-8-7-24 
Hard DriveHard DriveOptical DriveCooling
Crucial M4 samsung spinpoint f3 one that works h70 
OSMonitorKeyboardPower
Windows 7 BSOD edition sony fw900 $10 at walmart xfx black edition 850w 
CaseMouseMouse Pad
antec lanboy air blue razer SWTOR MMO mouse razer kabuto 
CPUMotherboardGraphicsRAM
Core 2 Quad Q9450 Asus P5K Deluxe Sapphire 5850 Corsair/Crucial DDR2 800 
Hard DriveCoolingOSPower
Western Digital Blue Cooler Master Hyper 212 EVO Windows 7 BSOD edition Rosewill Green 530w 
Case
NZXT Gamma 
  hide details  
Reply
W.O.P.R.
(15 items)
 
HAL 9000
(9 items)
 
 
CPUMotherboardGraphicsRAM
i7 2600k P67A-UD4 palit gtx 570 sonic platinum 2x4gb g.skill ripjaws 1600 7-8-7-24 
Hard DriveHard DriveOptical DriveCooling
Crucial M4 samsung spinpoint f3 one that works h70 
OSMonitorKeyboardPower
Windows 7 BSOD edition sony fw900 $10 at walmart xfx black edition 850w 
CaseMouseMouse Pad
antec lanboy air blue razer SWTOR MMO mouse razer kabuto 
CPUMotherboardGraphicsRAM
Core 2 Quad Q9450 Asus P5K Deluxe Sapphire 5850 Corsair/Crucial DDR2 800 
Hard DriveCoolingOSPower
Western Digital Blue Cooler Master Hyper 212 EVO Windows 7 BSOD edition Rosewill Green 530w 
Case
NZXT Gamma 
  hide details  
Reply
post #4 of 10
i would advise against jumping into hardware programming like that without any programming experience. i took verilog/vhdl after a year and a half taking java, c++, and assembly lang classes. that said, verilog is similar in syntax and structure to C. i also have to recommend starting out with C or at least learning basis programming concepts. however, this book looks like it's a good introduction that doesnt require programming experience. Verilog® Quickstart seems to be a pretty complete introduction to verilog, although i've never actually used this book. other than that, just look around amazon and find a intro book that looks good.
Fractal Design
(15 items)
 
775 4 life
(15 items)
 
 
CPUMotherboardGraphicsRAM
Intel i7 2600K Biostar TP67XE NVidia GTX 570 Crucial Ballistix 
Hard DriveHard DriveCoolingOS
Crucial C300 RealSSD SDD Samsung F4 2TB Noctua NH-D14 Windows 7 Professional x64 
MonitorMonitorKeyboardPower
Asus VH202T 20'' 1600x900 Acer P244W 24" 1920 x 1080 Apple Keyboard with Numeric Keypad SeaSonic M12II 620W 
CaseMouseAudio
Fractal Design Define XL Titanium Grey Razor Abyssus Creative Sound Blaster X-FI Xtreme Gamer 
CPUMotherboardGraphicsRAM
Intel X3350 3.2Ghz @ 1.25v Gigabyte-GA-P35-DS3L (rev 2) XFX 4870 1GB 4GB OCZ Reaper PC2-6400 
RAMHard DriveHard DriveOptical Drive
2GB Corsair XMS2 PC2-6400 Crucial C300 64GB SSD 2TB Samsung Spinpoint F4 Sony Super Multi 
OSMonitorPowerCase
Windows 7 Professional x64 SP1 Asus VH202T 20'' 1600x900 SeaSonic M12II 620W Cooler Master Centurion 5 
Mouse
Razor Abyssus 
CPUMotherboardGraphicsRAM
Core i5-520M Lenovo 2522BF3 NVIDIA® Quadro® NVS3100M  Ramaxel Technology 4Gb DDR3 
Hard DriveOptical DriveOSMonitor
Samsung SSD 128GB 1.8" Micro SATA  hl-dt-st dvdram gu10n Windows 7 Enterprise (64-bit) 14.1" WXGA (1280x800) display, anti-glare, LED ... 
Power
9-cell plus Slice battery 
  hide details  
Reply
Fractal Design
(15 items)
 
775 4 life
(15 items)
 
 
CPUMotherboardGraphicsRAM
Intel i7 2600K Biostar TP67XE NVidia GTX 570 Crucial Ballistix 
Hard DriveHard DriveCoolingOS
Crucial C300 RealSSD SDD Samsung F4 2TB Noctua NH-D14 Windows 7 Professional x64 
MonitorMonitorKeyboardPower
Asus VH202T 20'' 1600x900 Acer P244W 24" 1920 x 1080 Apple Keyboard with Numeric Keypad SeaSonic M12II 620W 
CaseMouseAudio
Fractal Design Define XL Titanium Grey Razor Abyssus Creative Sound Blaster X-FI Xtreme Gamer 
CPUMotherboardGraphicsRAM
Intel X3350 3.2Ghz @ 1.25v Gigabyte-GA-P35-DS3L (rev 2) XFX 4870 1GB 4GB OCZ Reaper PC2-6400 
RAMHard DriveHard DriveOptical Drive
2GB Corsair XMS2 PC2-6400 Crucial C300 64GB SSD 2TB Samsung Spinpoint F4 Sony Super Multi 
OSMonitorPowerCase
Windows 7 Professional x64 SP1 Asus VH202T 20'' 1600x900 SeaSonic M12II 620W Cooler Master Centurion 5 
Mouse
Razor Abyssus 
CPUMotherboardGraphicsRAM
Core i5-520M Lenovo 2522BF3 NVIDIA® Quadro® NVS3100M  Ramaxel Technology 4Gb DDR3 
Hard DriveOptical DriveOSMonitor
Samsung SSD 128GB 1.8" Micro SATA  hl-dt-st dvdram gu10n Windows 7 Enterprise (64-bit) 14.1" WXGA (1280x800) display, anti-glare, LED ... 
Power
9-cell plus Slice battery 
  hide details  
Reply
post #5 of 10
The most common HDLs are VHDL and Verilog, although in an attempt to reduce the complexity of designing in HDLs, which have been compared to the equivalent of assembly languages, there are moves to raise the abstraction level through the introduction of alternative languages.

Once again. I highly suggest learning an actual programming language (C or Java) before tackling another language (verilog). According to wikipedia, it is similar to assembly language and thus it is much more difficult than basic programming. Therefore it is important to have experience with basic programming prior to this.
post #6 of 10
Thread Starter 
alright thanks. +rep
W.O.P.R.
(15 items)
 
HAL 9000
(9 items)
 
 
CPUMotherboardGraphicsRAM
i7 2600k P67A-UD4 palit gtx 570 sonic platinum 2x4gb g.skill ripjaws 1600 7-8-7-24 
Hard DriveHard DriveOptical DriveCooling
Crucial M4 samsung spinpoint f3 one that works h70 
OSMonitorKeyboardPower
Windows 7 BSOD edition sony fw900 $10 at walmart xfx black edition 850w 
CaseMouseMouse Pad
antec lanboy air blue razer SWTOR MMO mouse razer kabuto 
CPUMotherboardGraphicsRAM
Core 2 Quad Q9450 Asus P5K Deluxe Sapphire 5850 Corsair/Crucial DDR2 800 
Hard DriveCoolingOSPower
Western Digital Blue Cooler Master Hyper 212 EVO Windows 7 BSOD edition Rosewill Green 530w 
Case
NZXT Gamma 
  hide details  
Reply
W.O.P.R.
(15 items)
 
HAL 9000
(9 items)
 
 
CPUMotherboardGraphicsRAM
i7 2600k P67A-UD4 palit gtx 570 sonic platinum 2x4gb g.skill ripjaws 1600 7-8-7-24 
Hard DriveHard DriveOptical DriveCooling
Crucial M4 samsung spinpoint f3 one that works h70 
OSMonitorKeyboardPower
Windows 7 BSOD edition sony fw900 $10 at walmart xfx black edition 850w 
CaseMouseMouse Pad
antec lanboy air blue razer SWTOR MMO mouse razer kabuto 
CPUMotherboardGraphicsRAM
Core 2 Quad Q9450 Asus P5K Deluxe Sapphire 5850 Corsair/Crucial DDR2 800 
Hard DriveCoolingOSPower
Western Digital Blue Cooler Master Hyper 212 EVO Windows 7 BSOD edition Rosewill Green 530w 
Case
NZXT Gamma 
  hide details  
Reply
post #7 of 10
I don't really agree that you need to learn C before you learn Verilog. It's true they have similar syntax, but the objectives when programming in each are quite different. If anything, I recommend you get a good book on digital hardware design, not on general programming.

You can get a free 6-month license to VeriLogger (a Verilog compiler with example source code from Mano's book on designing hardware with Verilog) from SynaptiCAD that you can experiment with:

http://www.syncad.com/
post #8 of 10
Can you do it? Most likely.
Should you do it? I will say no. Just like most of the others said, start with C/C++/Java until you are fairly comfortable and then move to verilog (I actually have the same plan in mind, though I already know C++/Java ). I can't see how knowing C before verilog can hurt your FPGA programming
The Dark Knight
(13 items)
 
Rebirth
(13 items)
 
 
CPUMotherboardGraphicsRAM
i5 2500K. 4.5Ghz (Summer Clocks) ASUS P8P67 Pro ( Rev 3.0 ) MSI 6970 Lightning (downclocked) CFX with MSI 6... 8GB G.Skill Sniper 1600Mhz 
Hard DriveOptical DriveOSMonitor
1 TB Spinpoint F3 +2TB F4(backups) Random LG drive Win7 SP1 64bit ASUS VH236H @1080p 
KeyboardPowerCase
Saitek Gaming keyboard ... >_> Corsair TX750 Rosewill Gear x3 
CPUMotherboardGraphicsRAM
C2D P8600 @ 2.4Ghz (undervolted) Crappy dell Studio XPS one 4670M (1GB) I don't remember... 
Hard DriveOptical DriveOSMonitor
Crucial M4 4x Blu-ray ROM Win7 SP1 64bit 15.6" WLED @ 1080p 
KeyboardPower
Old Saitek Gaming Keyboard 90W adapter 
  hide details  
Reply
The Dark Knight
(13 items)
 
Rebirth
(13 items)
 
 
CPUMotherboardGraphicsRAM
i5 2500K. 4.5Ghz (Summer Clocks) ASUS P8P67 Pro ( Rev 3.0 ) MSI 6970 Lightning (downclocked) CFX with MSI 6... 8GB G.Skill Sniper 1600Mhz 
Hard DriveOptical DriveOSMonitor
1 TB Spinpoint F3 +2TB F4(backups) Random LG drive Win7 SP1 64bit ASUS VH236H @1080p 
KeyboardPowerCase
Saitek Gaming keyboard ... >_> Corsair TX750 Rosewill Gear x3 
CPUMotherboardGraphicsRAM
C2D P8600 @ 2.4Ghz (undervolted) Crappy dell Studio XPS one 4670M (1GB) I don't remember... 
Hard DriveOptical DriveOSMonitor
Crucial M4 4x Blu-ray ROM Win7 SP1 64bit 15.6" WLED @ 1080p 
KeyboardPower
Old Saitek Gaming Keyboard 90W adapter 
  hide details  
Reply
post #9 of 10
Quote:
Originally Posted by dannote View Post
I don't really agree that you need to learn C before you learn Verilog. It's true they have similar syntax, but the objectives when programming in each are quite different. If anything, I recommend you get a good book on digital hardware design, not on general programming.
This. It's called a hardware description language for a reason. With programming, you're basically creating a sequential list of steps that tells a CPU "do this, then do this, then do this". With HDL's it's perfectly reasonable (and often desired) that the vast majority of your code is running at the same time gated by your clock source.

As a practicing software engineer, it often takes me several days to get out of my programming mindset and into an HDL mindset. Forget learning traditional programming. Read up on combinational logic, sequential logic, and most importantly state machines. Once you know that, mapping to any HDL is pretty trivial.

Quote:
Originally Posted by dklimitless View Post
Can you do it? Most likely.
Should you do it? I will say no. Just like most of the others said, start with C/C++/Java until you are fairly comfortable and then move to verilog (I actually have the same plan in mind, though I already know C++/Java ). I can't see how knowing C before verilog can hurt your FPGA programming
Having gone down that route already, I'd advise against it. See above.
RAID0R
(14 items)
 
  
CPUMotherboardGraphicsRAM
i5 750 4.0GHz MSI P55-GD80 GTX 470 | 8800GT PhysX 2x2GB G.Skill Ripjaws 
Hard DriveOptical DriveCoolingOS
60GB Agility 2|1TB RAID0|1.5TB Pioneer DVR-217D XSPC Raystorm | XSPC RX240 Windows 7 Professional x64 
MonitorKeyboardPowerCase
27" Dell 2709W | 17" Samsung Logitech G15 Corsair HX850 Corsair 650D 
Mouse
Microsoft IntelliMouse 
  hide details  
Reply
RAID0R
(14 items)
 
  
CPUMotherboardGraphicsRAM
i5 750 4.0GHz MSI P55-GD80 GTX 470 | 8800GT PhysX 2x2GB G.Skill Ripjaws 
Hard DriveOptical DriveCoolingOS
60GB Agility 2|1TB RAID0|1.5TB Pioneer DVR-217D XSPC Raystorm | XSPC RX240 Windows 7 Professional x64 
MonitorKeyboardPowerCase
27" Dell 2709W | 17" Samsung Logitech G15 Corsair HX850 Corsair 650D 
Mouse
Microsoft IntelliMouse 
  hide details  
Reply
post #10 of 10
I would learn a language that has more online resources before jumping into Verilog. When I started to learn Verilog I had a heavy C++ background and the transition was flawless. Also to program an FPGA you will need to know some digital logic, least at an intermediate level.

BTW, FPGA's are awesome
thug lyfe
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II X6 MSI 890FXA-GD70 Radeon HD 6850 1GB G.SKILL Ripjaws Series 4GB 
Hard DriveOSMonitorPower
Kingston 64GB SSD & WD 640GB HDD Windows 7 Home 64-bit 3x Samsung 21.5" LCD Eyefinity CORSAIR HX Series 750W 
Case
Antec Nine Hundred Black Steel 
  hide details  
Reply
thug lyfe
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD Phenom II X6 MSI 890FXA-GD70 Radeon HD 6850 1GB G.SKILL Ripjaws Series 4GB 
Hard DriveOSMonitorPower
Kingston 64GB SSD & WD 640GB HDD Windows 7 Home 64-bit 3x Samsung 21.5" LCD Eyefinity CORSAIR HX Series 750W 
Case
Antec Nine Hundred Black Steel 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › learn verilog with no programming experience?