electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Microcontrollers and Programmable Logic
Good Audio FPGA Development Board Candidate
Post new topic   Reply to topic Moderators: State Machine
Page 2 of 3 [71 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Goto page: Previous 1, 2, 3 Next
Author Message
jksuperstar



Joined: Aug 20, 2004
Posts: 2503
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Thu Feb 20, 2014 1:25 am    Post subject: Reply with quote  Mark this post and the followings unread

Wow, I thought about a raspberry pi, and running it bare metal, but this board kicks the crap out of that. Awesome find!!
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sat Feb 22, 2014 12:04 pm    Post subject: Reply with quote  Mark this post and the followings unread

More good news!

There is a USB OTG (host) port on the ZyBo. The default image in the QSPI flash (the bootable Linux) comes with the necessary software to see a formatted thumb drive and I was able to mount it and make files on it.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sun Feb 23, 2014 3:45 pm    Post subject: Reply with quote  Mark this post and the followings unread

This is not terribly important - just an oddity I noticed while playing with the demo Linux on the ZyBo board.

I've been able to access the servers that run on the board over my network. These are httpd, SSH, telnet and FTP. However, when I attempted to open ports on my router to these servers, they failed to respond over the internet. There is very little in the way of configuration files that could be modified. In fact, for httpd, there are no configuration files at all. I have servers running on Linux PC that are served to the internet just fine, but I can't seem to get that to happen with the ZyBo.

Any Linux heavies have some advice or even just a reason for this?

I'm hoping it's just some option used when they compiled the Linux that forces the servers to respond only to LAN requesters... I find it odd that even SSH seems disabled that way.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2503
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Mon Feb 24, 2014 2:34 pm    Post subject: Reply with quote  Mark this post and the followings unread

Is there source available for the Linux build?

I've never worked with this level of embedded Linux, so it's hard to know what they "hard coded" in, or left to config files.
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Mon Feb 24, 2014 2:42 pm    Post subject: Reply with quote  Mark this post and the followings unread

There is a BSP (board support package) which is yet to be posted at the Digilent site. It is supposed to contain the stuff required to build a custom PetaLinux targeted for the ZyBo. I believe it is up to Digilent to supply that package and so far it is not on their website (which I check daily). I myself am anxious to see the BSP and what it can do - I am hoping that I can (for example) create a bootable Linux package that uses only one ARM core, or a package that contains special executables that I've written in C or C++ and compiled for it.

For now, it's a waiting game. I've had a lot of fun fiddling with the RAM based Linux, but I'd like to get on with making real designs that do stuff I want (like a synthesizer).

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Feb 25, 2014 9:01 am    Post subject: Reply with quote  Mark this post and the followings unread

I found this:

http://xillybus.com/xillinux-zybo

which has files for a temporary preview release of Xillinux for ZyBo.

Caveats are: This will be replaced with a more mature release, sound does not work with Xillinux and some oddities are mentioned about using the 4 LEDs on the board.

I'm most interested in how to apply the files on the site and to become accustomed to using the development software used to create a custom package.

This ought to keep me busy until the Digilent BSP is available.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Feb 25, 2014 4:45 pm    Post subject: Reply with quote  Mark this post and the followings unread

Some notes on my experience with powering the board from USB:

I received two new USB micro B cables for use with the ZyBo. I had previously used a cable that my son had for charging his camera and everything worked fine. The new cables (both), however, would power the board up, but Linux would only start to boot and just stop at random points often attempting a reboot.

In the ZyBo docs, it says that "some applications may require more power than USB can supply" and they suggest using a regulated 5 volt supply (2.5 ampere I think). Once I plugged in a 5 volt 2.5A PSU, the new cables worked fine.
-------------------------------------------------------------------------

I also tried using the other cable to see if anything happens when it is plugged into the micro B OTG port (under the host port). There is a jumper on the board labeled "host". The PC showed no change (as in no new "removable media" disk drive showed up in Explorer) so I have no idea if anything is happening there or not. There was also no additional messages on the console. Perhaps something needs to be configured differently or specially for this to work. My expectations were to see a drive appear in Explorer that allows access to the ZyBo Linux file system.

Also - I had done the unthinkable - I powered the board down with a thumb drive plugged into the host port which I had mounted. When I powered up again and mounted, the thumb drive mounted, but Linux complained that I had not umounted it and said I should run fsck. I have tried running the supplied fsck all kinds of different ways to no avail. BTW There is no "man" data for fsck on the board. fsck --help lists some command line control switches, but none of them help. The thumb drive does work when I mount it, but I'd really like to get rid of that message (preferably without having to reformat the stick). ???

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 28, 2014 2:17 am    Post subject: Reply with quote  Mark this post and the followings unread

Today I was able to get Xillinux installed on my ZYBO. This is an Ubuntu distro and it works quite well.

I started from this: http://xillybus.com/xillinux-zybo

It was not without problems...

As is, it doesn't have much installed. However, using apt-get, I was able to install Apache2 and ssh (so far). I note that when software is installed, the micro SD is updated, so power cycling doesn't erase your changes. Unfortunately (for me) the initial install supports vim and not vi for an editor. I guess I should probably learn it, but I don't understand why just plain old vi isn't available.

This version is supposed to support X-windows (somehow). Not sure how that will happen, I will connect it up to a VGA monitor tomorrow, but I'm still mystified as to how I would connect a keyboard and mouse ... unless I'm supposed to use the host port for that... I don't have a USB hub, so I could connect only either a mouse or a keyboard...

Anyway, this has been lots of fun and I got a lot done today.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Fri Feb 28, 2014 4:38 am    Post subject: Reply with quote  Mark this post and the followings unread

VIM is backwards compatible with VI, you should not need to learn anything just treat it like VI.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 28, 2014 1:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

I have no idea why it's not working like vi. It's possible it's just a terminal setting. I found nano already installed was easier to use.
_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
elmegil



Joined: Mar 20, 2012
Posts: 2177
Location: Chicago
Audio files: 16

PostPosted: Fri Feb 28, 2014 3:41 pm    Post subject: Reply with quote  Mark this post and the followings unread

I believe if you softlink vim to vi (ln -s /usr/bin/vim /usr/bin/vi) and use that vi, it will behave "more" like vi.

not sure if that will resolve your issue, but a thought.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 28, 2014 3:58 pm    Post subject: Reply with quote  Mark this post and the followings unread

It appears to be a terminal setting for the console. When I SSH in, I can use the vi command and it works fine. Probably using a better serial terminal than Hyperterminal would help.
_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
elmegil



Joined: Mar 20, 2012
Posts: 2177
Location: Chicago
Audio files: 16

PostPosted: Fri Feb 28, 2014 5:03 pm    Post subject: Reply with quote  Mark this post and the followings unread

Doesn't hyperterminal have a setting for what it should emulate? Set TERM=vt100 and the emulation the same and you should be OK....the only other thing I could see being a problem is the number of rows in your terminal; ssh sets that automatically, but you might have to explicitly tell the shell "stty rows 24 columns 80" or whatever your dimensions are.
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Fri Feb 28, 2014 5:24 pm    Post subject: Reply with quote  Mark this post and the followings unread

I did try VT100 and several others. I got frustrated farting around with it, and when I discovered that if I used puTTY with ssh, it worked properly. I also tried puTTY as a serial terminal, but it messes up just the same. Here's an example of what it does:

If I put a line of text and then say 10 blank lines and another line of text, vi refuses to delete the blank lines. I tried using x (while not in insert mode) and they don't go away. Then I switched to insert mode and tried delete and backspace keys and I cannot get rid of the blanks lines. If I use nano from an ssh terminal - works fine. nano doesn't work correctly on the console either.

It's not all that important really - in fact, I may not even be keeping this linux. I'm trying to get accustomed to working with the board while waiting for the board support package. Once I get the BSP, I'll be able to configure my own custom linux for my synth projects. I believe that the BSP will contain files for PetaLinux and not the Xillinux that I'm running now.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
BobTheDog



Joined: Feb 28, 2005
Posts: 4044
Location: England
Audio files: 32
G2 patch files: 15

PostPosted: Fri Feb 28, 2014 11:44 pm    Post subject: Reply with quote  Mark this post and the followings unread

The joys of Linux, always some head scratching Smile
Back to top
View user's profile Send private message
State Machine
Janitor
Janitor


Joined: Apr 17, 2006
Posts: 2809
Location: New York
Audio files: 24

PostPosted: Sat Mar 01, 2014 1:08 pm    Post subject: Reply with quote  Mark this post and the followings unread

Scott, I like "nano" editor myself for most of what I do in Linux these days. Fairly easy to use and does not fuck up too much ... lol

I would probably end up running a bare bones Linux OS and use Python to write all the front end stuff for display and data handling. Then use the FPGA logic for all your DSP, oscillators, etc.

Does the Linux "distro" your using now have the Python interpreter natively? I know your more of a C guy but you may like Python to. Cool If not, you could probably "apt-get" it Wink

Anyhow, this seems like a nice platform to do some really neat audio stuff and once past all the growing pains, some great things will come out of it.

Oh, also saw, glad you got the master UCF for the board. Cool
Back to top
View user's profile Send private message Send e-mail
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sat Mar 01, 2014 1:40 pm    Post subject: Reply with quote  Mark this post and the followings unread

Python is indeed there in Xillinux. I've never played with it, but I'll have a look at it. The gcc toolchain is there too.

The master UCF allows me to use the PL, but I really need the BSP to make use of the ARM cores.

So for now, I'm reading all the documentation I can find.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Sun Mar 02, 2014 10:02 am    Post subject: Reply with quote  Mark this post and the followings unread

I've been going through the Xillybus tutorials which nicely lay out the work flow for the toolchains (Vivado and ISE). It made me think more about how I want to build a synth design in the Zynq.

Coprocessors are nice, but I am not sure (yet) that coprocessor technology will benefit me very much. There are several ways for the ARMs and FPGA logic to talk, so coprocessors are not required to tie it all together. In the docs, they describe the project flow as something like - you build your design and realize that you have two functions that take a long time to execute using native ARM instructions. You then can move those two functions to FPGA hardware and use a coprocessor instruction to access them. That seems to make sense to me for applications that are indeed CPU-centric. (a 32 bit CPU running at 650 MHz)

But I keep thinking of my synthesizer code as this mass of statemachine logic that runs in the FPGA and is merely controlled by an ARM core. This would be an FPGA-centric approach. My current imagination regards a single core Linux for control of the synth. MIDI controller and voice assignment logic could run in that core. The other ARM core I was thinking might be able to support a multi-effects package.

In the FPGA would be a synth much like all the others I've designed, a giant state machine which when triggered by a DAC signal, will deliver data to the DAC and calculate the next sample, then go idle. The inputs to this state machine could be supplied via ports from an ARM process.

It seems possible that I could make a GUI interface for patch loading/saving and synth control and MIDI over ethernet. Web browser based control is possible.

One thing that struck me when I read the tutorials was a sort of warning about using coprocessor code in that if after a successful compile and synthesize the FPGA is not doing the right thing, even though it works when simulated, there's precious little you can do to debug. You can rewrite it... Vivado HLS is a source code generator. You write in C or C++ and it generates Verilog or VHDL (though they tell you to use the Verilog in the tutorial - they don't say why). I would bet that the simpler the code, the better. There are also certain special standards to which you must adhere.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2503
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Tue Mar 04, 2014 9:34 am    Post subject: Reply with quote  Mark this post and the followings unread

Scott, I couldn't agree more.

I'm concerned that the Xillybus is 10,000 for anything commercial. Which might also have some limits on an open source project, or whatever.

I think I'm going to grab one of these boards, in the next couple weeks. If you are interested in co-development at all, let me know. I think it would be easy to add some hooks to link the processor to the FPGA fabric like Xillybus does for PCIe (using mem space/device driver + FIFO). Likewise, a basic APB interface to address accessible registers that control the synth engine. It would also be nice to get a solid set of stuff built into a common linux distro..like rtpMIDI (for doing MIDI over network), etc.
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Mar 04, 2014 9:47 am    Post subject: Reply with quote  Mark this post and the followings unread

The BSP (which is still yet to be delivered) should contain the files necessary to build up a custom Linux (PetaLinux). I don't know what the licensing deal is with that and so far, I don't find much information about specific fees. They do have a 1 year evaluation license which is free...

I just found the information about commercial license fees. You're right, $10,000 and then $1,000 more for each additional FIFO or memory...

That is quite steep.

For the time being, I'm not concerned since I don't have any of the required skills to make my own FPGA-based application PCB. The only way I could make a "commercial" device with these BGA parts is to simply include a dev board into the product. Most of the dev board mfrs frown upon that and there's no telling when a particular board will stop being made.

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2503
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Tue Mar 04, 2014 11:24 am    Post subject: Reply with quote  Mark this post and the followings unread

Xyllibus seems to include both linux and hardware (and so has proprietary licensing for the hardware part), while Petalinux just offers the linux build/kernel...and the only license restrictions comes with the tools themselves, not the linux distro. So I think it's "cleaner" to work with.

I'm also not (yet at least:) ) thinking about production. But I wouldn't want to even have to deal with a lawyer when it comes to a hobby. But, you never know who you'll meet in the world, and maybe someone makes a board that is friendly to these types of projects.

Anyway, a google code or sourceforge project to hold the basic RTL, and maybe linux config files, might be a good thing to share development, and limit redundant work. Everything wouldn't have to be shared, just the hardware to enable the linux control over the fpga fabric.
Back to top
View user's profile Send private message Visit poster's website
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Mar 04, 2014 12:56 pm    Post subject: Reply with quote  Mark this post and the followings unread

Not sure I totally understand ... By "hardware", are you referring to the stuff in the FPGA?
_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
jksuperstar



Joined: Aug 20, 2004
Posts: 2503
Location: Denver
Audio files: 1
G2 patch files: 18

PostPosted: Tue Mar 04, 2014 1:59 pm    Post subject: Reply with quote  Mark this post and the followings unread

Yes, they included a partial hardware implementation to provide the memory mapped fifos and such. I don't know if it serves as the top-level, and you stitch your design into it, or the other way around. But as part of building Xillinux, the ISE bundle builds an FPGA image too.

[edit] - yes, I am considering the FPGA design as "hardware", and that it doesn't fall under the GNU license like Linux does.
Back to top
View user's profile Send private message Visit poster's website
gdavis



Joined: Feb 27, 2013
Posts: 359
Location: San Diego
Audio files: 1

PostPosted: Tue Mar 04, 2014 5:58 pm    Post subject: Reply with quote  Mark this post and the followings unread

JovianPyx wrote:

If I put a line of text and then say 10 blank lines and another line of text, vi refuses to delete the blank lines. I tried using x (while not in insert mode) and they don't go away. Then I switched to insert mode and tried delete and backspace keys and I cannot get rid of the blanks lines.


I've been using vi and vim with Linux and Solaris for decades and never been able to delete lines either of those ways. x only deletes characters under the cursor, backspace and delete only delete characters on the current line that have been typed since entering edit mode. Once edit mode is exited, delete and backspace won't erase any previous characters.

I always use dd to delete individual lines, for multiple lines set a mark (ma) at the first line to delete, move to the last line to delete a do d'a (delete from current line to line marked "a"). There are many other uses of d for deleting also.

_________________
My synth build blog: http://gndsynth.blogspot.com/
Back to top
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Tue Mar 04, 2014 6:20 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thank you for that Smile It works... And I do now remember that.

Still, nano is easier...

_________________
FPGA, dsPIC and Fatman Synth Stuff

Time flies like a banana.
Fruit flies when you're having fun.
BTW, Do these genes make my ass look fat?
corruptio optimi pessima
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic Moderators: State Machine
Page 2 of 3 [71 Posts]
View unread posts
View new posts in the last week
Goto page: Previous 1, 2, 3 Next
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Microcontrollers and Programmable Logic
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use