Author Topic: Arrow DECA MAX 10 board for $37  (Read 40914 times)

0 Members and 1 Guest are viewing this topic.

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 7638
  • Country: ca
Re: Arrow DECA MAX 10 board for $37
« Reply #150 on: September 17, 2021, 03:15:40 am »
LOL, Arrow had ~160 Deca boards in stock for around since the beginning of this thread.
I post my DDR3 thread on GitHub, 2 weeks and nothing.
Now, all of a sudden as my fork count increased, all stock gone since I last checked 3 days ago...
 
The following users thanked this post: rsjsouza

Offline Scrts

  • Frequent Contributor
  • **
  • Posts: 797
  • Country: lt
Re: Arrow DECA MAX 10 board for $37
« Reply #151 on: September 17, 2021, 02:28:05 pm »
LOL, Arrow had ~160 Deca boards in stock for around since the beginning of this thread.
I post my DDR3 thread on GitHub, 2 weeks and nothing.
Now, all of a sudden as my fork count increased, all stock gone since I last checked 3 days ago...

Power of open source! Thank you!  :-+
 

Offline FenTiger

  • Regular Contributor
  • *
  • Posts: 88
  • Country: gb
Re: Arrow DECA MAX 10 board for $37
« Reply #152 on: September 17, 2021, 04:20:09 pm »
It looks like the DECA makers themselves have taken an interest in your controller!

https://github.com/DECAfpga

https://github.com/DECAfpga/BrianHG-DDR3-Controller
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14230
  • Country: fr
Re: Arrow DECA MAX 10 board for $37
« Reply #153 on: September 17, 2021, 06:48:20 pm »
That is nice, but I don't like all those forks much.

In particular when the project is still young, and there is absolutely no reason to fork. Forking makes sense, IMHO, only when you want to make contributions that the original maintainer doesn't want to take, or you otherwise want to make the project go in different directions. Otherwise, you just end up with a ton of the same project in different states, nobody knows which one they should really use, and the original author of the project doesn't get the contributions, unless they go look at all forked projects and does the nasty work of merging things into their own.

Now I notice many github users do that as some kind of bookmarking. Forking is not meant for bookmarking a project for heaven's sake.

So again unless there is a *good* reason, forking is just disrespectful to the author and just tends to spread out contributions instead of aggregating them. Just my 2 cents.

 

Offline SMB784

  • Frequent Contributor
  • **
  • Posts: 421
  • Country: us
    • Tequity Surplus
Re: Arrow DECA MAX 10 board for $37
« Reply #154 on: September 17, 2021, 09:46:39 pm »
That is nice, but I don't like all those forks much.

In particular when the project is still young, and there is absolutely no reason to fork. Forking makes sense, IMHO, only when you want to make contributions that the original maintainer doesn't want to take, or you otherwise want to make the project go in different directions. Otherwise, you just end up with a ton of the same project in different states, nobody knows which one they should really use, and the original author of the project doesn't get the contributions, unless they go look at all forked projects and does the nasty work of merging things into their own.

Now I notice many github users do that as some kind of bookmarking. Forking is not meant for bookmarking a project for heaven's sake.

So again unless there is a *good* reason, forking is just disrespectful to the author and just tends to spread out contributions instead of aggregating them. Just my 2 cents.

Agreed, forking is not for bookmarking and is genuinely detrimental to the original project if not done for the explicit purpose of making changes that the owner does not want in their release.  Better to just star & follow the project on github and clone the repository, and submit pull requests if you want to see features added.

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 6136
  • Country: ro
Re: Arrow DECA MAX 10 board for $37
« Reply #155 on: September 17, 2021, 09:55:23 pm »
Forking is not stealing.  Certainly not disrespectful either.  You can still see where from it was forked, also github tells if a fork is above or behind the original, and can show all the forks and their status, etc.

Makes sense to fork for many reasons.  One of them is to have a copy in case the owner decides to nuke the project.  Then, you can never know these days that, for whatever reasons, the owner or the project won't be banned or deleted from the somebody else's computer called cloud.
« Last Edit: September 17, 2021, 10:01:15 pm by RoGeorge »
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 7638
  • Country: ca
Re: Arrow DECA MAX 10 board for $37
« Reply #156 on: September 17, 2021, 10:08:59 pm »
Forking is not stealing.  Certainly not disrespectful either.  You can still see where from it was forked, also github tells if a fork is above or behind the original, and can show all the forks and their status, etc.
Well, it is there, but tiny at the top left, easily missed unless you are acquainted with GitHub.

As for the stock of Arrow Deca boards, they all went between 2 days I checked and I do not have that kind of traffic on my DDR3 controller.  Though my controller does specify Arrow's link and price for the FPGA in the readme.

With today's chip shortage and the fact you are getting a 280$ FPGA for 37$, it is most likely that 1 person bough the entire stock and they probably have the tools to salvage the FPGAs.  I don't like this because the 5v supply, Ethernet cable, usb cables and rest of the PCB will almost be guaranteed to be thrown out.
 

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 6136
  • Country: ro
Re: Arrow DECA MAX 10 board for $37
« Reply #157 on: September 18, 2021, 12:29:21 am »
Forking is not stealing.  Certainly not disrespectful either.  You can still see where from it was forked, also github tells if a fork is above or behind the original, and can show all the forks and their status, etc.
Well, it is there, but tiny at the top left, easily missed unless you are acquainted with GitHub.

Might be, but "BrianHG" appears 113 more times in the rest of the page, look:



Nobody can miss that.

 
The following users thanked this post: BrianHG

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 7638
  • Country: ca
Re: Arrow DECA MAX 10 board for $37
« Reply #158 on: September 18, 2021, 01:38:33 am »
Forking is not stealing.  Certainly not disrespectful either.  You can still see where from it was forked, also github tells if a fork is above or behind the original, and can show all the forks and their status, etc.
Well, it is there, but tiny at the top left, easily missed unless you are acquainted with GitHub.

Might be, but "BrianHG" appears 113 more times in the rest of the page, look:

Nobody can miss that.

Damn, the folder 'screenshots' wasn't named 'BrianHG_DDR3_Screenshots'.  |O
 

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 6136
  • Country: ro
Re: Arrow DECA MAX 10 board for $37
« Reply #159 on: September 18, 2021, 02:55:42 am »
Damn, the folder 'screenshots' wasn't named 'BrianHG_DDR3_Screenshots'.

That one intrigued me, too   :D

Offline dolbeau

  • Regular Contributor
  • *
  • Posts: 86
  • Country: fr
Re: Arrow DECA MAX 10 board for $37
« Reply #160 on: September 20, 2021, 02:45:03 pm »
In particular when the project is still young, and there is absolutely no reason to fork.

"Forking" in GitHub is not the same as "forking" a project to take it in a different direction. "Forking" in GitHub is just replicating the data so that you can modify them, as you normally don't have write permission to the original (and so can't rely on e.g. branches). Your comments seem targeted at the other kind of "forking", when there's no intention to actively contribute to the original project.

"Forking" in GitHub is pretty much a requirement for contributing to a project if you're not a direct contributor to it. If someone wanted to e.g. add support for another FPGA in BrianHG's controller, the "normal" way of doing it would be: (a) "fork" the project in GitHub, (b) clone the fork locally, (c) do the work on a local branch, (d, optional) perhaps push that local branch publicly if it's a collaborative work or needing outside input, [repeat (c) and (d) as needed], (e) when the work is done, push the branch to their "fork" on GitHub, (f) create a pull request on BrianHG's own repository to merge said branch, (g) when the work has been merged, GitHub will offer to delete the branch from the fork (and even the whole forked repository).

Do to the same thing without a GitHub "fork", BrianHG would have to authorize the direct modification of his repository, which is not a good idea.

Unfortunately you can't tell beforehand if the GitHub "fork" is a 'contribution' fork (someone wanting to actively contribute to the upstream repository), a 'bookmark' fork (someone wanting their own copy and control how it tracks the original repository), or a 'project fork' fork (someone wanting do their own thing based on an existing work).
 
The following users thanked this post: voltsandjolts

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14230
  • Country: fr
Re: Arrow DECA MAX 10 board for $37
« Reply #161 on: September 20, 2021, 05:18:12 pm »
Whatever, github or not, forking is forking. Once forked on github, the projects, even though you can see they are forks, are decoupled, at least AFAIK. So any contributions in one is completely separate from the others. That leads to project fragmentation, and, as I said, is usually completely counter-productive unless there's a good reason to do so.

A lot of projects have many forks on github, and as a user, it's almost impossible in the end to tell which you should use/which is the most up to date/which is the most stable/which you should rather contribute to/... It's just a bad situation.

Write access? If you want to contribute and the maintainer of a project doesn't want to take your contributions/give you access/or even reply to your requests, then of course this becomes a good reason for forking. But at least try first. It's the same for contributing to any open source project. You don't (primarily at least) do this by forking.

There's no difference with github, as, as I just said, even though you can at least see some project is a fork of another, there is otherwise no link between the two that I know of. So this just fragments the project.

Regarding contributing source code through github this is what "Pull requests" are for as far as I've understood. You can absolutely set up your project so that a given contribution only gets in the base branch if you accept the pull request. Otherwise, contributors work on their own branch. No need for forks.

And with that said, seeing how many people find this completely appropriate when working on github, we can see how github, willingly or not, promotes those idiotic behaviors, such as using a VCS as backup (as we talk about on a regular basis), and needlessly fragmenting open-source projects. But I'm not surprised, because this is pretty much what you're bound to get when you "open" such tools to the masses.

« Last Edit: September 20, 2021, 05:22:42 pm by SiliconWizard »
 

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 6136
  • Country: ro
Re: Arrow DECA MAX 10 board for $37
« Reply #162 on: September 20, 2021, 05:59:57 pm »
There is a way to see the forks tree, and which one is ahead or behind the "original", and with how many submits, etc.
https://docs.github.com/en/repositories/viewing-activity-and-data-for-your-repository/understanding-connections-between-repositories#listing-the-forks-of-a-repository

Your rant seems to be against the fact that there is no such thing as uniquely "best" or "latest" fork in a distributed versioning system.

Github is mostly a nice web interface for git.  Git is a distributed versioning system, it was meant to fork and merge.  Git is not a Centralized Versioning System, it is distributed.  By design is distributed.  That's the main reason it took over the older CVS stile.

https://www.geeksforgeeks.org/centralized-vs-distributed-version-control-which-one-should-we-choose/
Quote
The only major difference you will find here [in distributed versioning] is, instead of one single repository which is the server, here every single developer or client has their own server and they will have a copy of the entire history or version of the code and all of its branches in their local server or machine.

You are asking developers to use Git/Github as it would be centralized, while git was invented to get rid of centralization.

Do not confuse Github with a repository of stable distributions, like Apple or Android, Linux, Windows, etc. have.  It is not for distributing the most latest and the most official and the "best" version.

Git/Github is for developers to be able to write code, together or independent, and without any central authority over a (public) project.  Github being also a source distribution platform is only a side effect.
« Last Edit: September 20, 2021, 06:19:35 pm by RoGeorge »
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 7638
  • Country: ca
Re: Arrow DECA MAX 10 board for $37
« Reply #163 on: September 21, 2021, 07:21:22 am »
Might be, but "BrianHG" appears 113 more times in the rest of the page, look:

Nobody can miss that.

Now that I checked, it also appears over 200 times throughout all the .sv source files.
 

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 6136
  • Country: ro
Re: Arrow DECA MAX 10 board for $37
« Reply #164 on: September 21, 2021, 10:02:19 am »
Hehe, so what?  I hope you do not plan to change that.

Yes, I was teasing you a little, in a familiar way, because I know how it feels when giving vanity names, did that myself, look:
https://hackaday.io/project/7542-rogeorge-cell
 ;D

Just so you know, I appreciate very much that you wrote a DDR controller, and that you also open source it.  Thank you!
 
The following users thanked this post: BrianHG

Offline Mario87

  • Regular Contributor
  • *
  • Posts: 247
  • Country: gb
Re: Arrow DECA MAX 10 board for $37
« Reply #165 on: October 15, 2021, 09:44:58 am »
Went to order one of these just now (why not, its fairly cheap and if I bump the order up to $50 (£36) it's free delivery to the UK), no doubt have to pay 20% VAT + some kind of £10-£15 "handling fee", so probably cost in the region of £50-£60 delivered.

I can live with that, but when I go to order, even if I set my address as "Personal" the Arrow website demands a valid GB VAT ID which I don't have. So how do I order this to the UK? Just put in a random number?

Surely that won't go down well if they report it to HMRC (UK VAT) and HMRC just turn round and say "that number doesn't exist".

Anyone on here ordered from Arrow to the UK before? How do you get around this? This is my first order with them.
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 7638
  • Country: ca
Re: Arrow DECA MAX 10 board for $37
« Reply #166 on: November 01, 2021, 07:24:52 pm »
 
The following users thanked this post: Wiljan

Online mfro

  • Regular Contributor
  • *
  • Posts: 207
  • Country: de
Re: Arrow DECA MAX 10 board for $37
« Reply #167 on: November 06, 2021, 08:59:22 am »
So again unless there is a *good* reason, forking is just disrespectful to the author and just tends to spread out contributions instead of aggregating them. Just my 2 cents.

Nonsense, with all respect. Not disrespectful at all - rather the opposite: it shows the author there is serious interest in his work.

A fork is git's way of generating a personal copy to play with (that probably tells you I have forked Brian's repository as well). It's even more transparent to the original author than an anonymous personal copy from a simple download as (if wanted) he can follow closely what happens with his work.
Beethoven wrote his first symphony in C.
 
The following users thanked this post: BrianHG

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14230
  • Country: fr
Re: Arrow DECA MAX 10 board for $37
« Reply #168 on: November 06, 2021, 05:38:39 pm »
I guess we'll never agree on this. And I gave reasons why. It seems pretty obvious that contributing (first through tickets, for instance) is much better and easier if it's done in one project rather than a bunch of them all over the place.

Now we can move on, this thread is not about that, but I find it pretty fun how some of you can defend a way of doing things that hinders collaboration.

Getting back to the example of Brian's project, for which he put significant effort in: I go to his github repo, and there isn't even a single ticket in the "issues", whereas at this point, I'm pretty sure a number of people have already tested it and possibly found problems / or at least have had questions or suggestions for improvements. Where's the collaboration in that? Sorry, but claiming "personal copies to play with" is collaborating does not make any sense. Everyone is certainly free to do it, that's the principle of open source. But that's not promoting collaboration at all.

I personally have had time to test/evaluate Brian's controller, I'm intending on doing so on the Lattice ECP5 when I get the time and a board for this (or design my own board.) At this point, I'll certainly report back in Brian's github project rather than start my own fork.
« Last Edit: November 06, 2021, 05:49:12 pm by SiliconWizard »
 

Online BrianHG

  • Super Contributor
  • ***
  • Posts: 7638
  • Country: ca
Re: Arrow DECA MAX 10 board for $37
« Reply #169 on: November 10, 2021, 06:42:59 pm »
Getting back to the example of Brian's project, for which he put significant effort in: I go to his github repo, and there isn't even a single ticket in the "issues", whereas at this point, I'm pretty sure a number of people have already tested it and possibly found problems / or at least have had questions or suggestions for improvements.
Improvements?  :-DD
I'm running circles around Altera's official controller on their own FPGAs.
My V1.5 corrects the final multiport FMAX bottleneck.

As for tickets, it just works.  Provide an address and WE when the port's busy isn't high, and it will be placed in the DDR3, or, 8-16 clocks later, a read command comes back with an optional user provided 'vector' word which was issued when the read command was sent.

I've even gone as far as within the background to even accept 1 additional read/write command without error even while the busy flag is high so poor designs which slip-up here will still function 100% perfectly.
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14230
  • Country: fr
Re: Arrow DECA MAX 10 board for $37
« Reply #170 on: November 10, 2021, 07:06:46 pm »
I'm glad your design is so good that it doesn't need any improvement and wouldn't benefit from any outside contribution. ;D
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2728
  • Country: ca
Re: Arrow DECA MAX 10 board for $37
« Reply #171 on: November 11, 2021, 03:53:23 am »
At this point, I'll certainly report back in Brian's github project rather than start my own fork.
And when you will do that, you will realize that you have to fork to do anything because that's how git works ;D

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14230
  • Country: fr
Re: Arrow DECA MAX 10 board for $37
« Reply #172 on: November 12, 2021, 05:12:07 pm »
At this point, I'll certainly report back in Brian's github project rather than start my own fork.
And when you will do that, you will realize that you have to fork to do anything because that's how git works ;D

Absolutely not. Not only it's not the way git works, but git itself has no concept of a fork.

You could have said "that's how github works", which would have been already a little less wrong, because that's github that actually introduced forking as a collaborative model, which it never was before, since "forking" was definitely not about collaborating per se, but creating, you guessed it... forks. Derivatives of projects going in different directions, essentially.

But even if github has "promoted" this fork model, it's not even the only way of using github, and as I explained, I find this model has more drawbacks than benefits, and gave reasons why.
Just for starters: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models
As already discussed, I favor asking to be a collaborator if you have anything interesting to contribute - and then of course if the maintainer refuses or doesn't respond, forking as a second intention would make sense. Not as a first. Otherwise if it's just for personal use, just clone the repo locally and play with it.

Now I get it that many people have been first exposed to git - and even more generally to VCS - using github, but github is not git. And github, IMO, gives bad habits, including this frantic forking and using a VCS as a backup. The fact it's now owned by MS hasn't helped me having a better impression of it either, but that was just icing on the cake.
 

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2728
  • Country: ca
Re: Arrow DECA MAX 10 board for $37
« Reply #173 on: November 12, 2021, 06:31:35 pm »
Absolutely not. Not only it's not the way git works, but git itself has no concept of a fork.

You could have said "that's how github works", which would have been already a little less wrong, because that's github that actually introduced forking as a collaborative model, which it never was before, since "forking" was definitely not about collaborating per se, but creating, you guessed it... forks. Derivatives of projects going in different directions, essentially.

But even if github has "promoted" this fork model, it's not even the only way of using github, and as I explained, I find this model has more drawbacks than benefits, and gave reasons why.
Just for starters: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models
As already discussed, I favor asking to be a collaborator if you have anything interesting to contribute - and then of course if the maintainer refuses or doesn't respond, forking as a second intention would make sense. Not as a first. Otherwise if it's just for personal use, just clone the repo locally and play with it.

Now I get it that many people have been first exposed to git - and even more generally to VCS - using github, but github is not git. And github, IMO, gives bad habits, including this frantic forking and using a VCS as a backup. The fact it's now owned by MS hasn't helped me having a better impression of it either, but that was just icing on the cake.
You just don't understand how git works. The entire point of git (and one of it's chief advantages over legacy SC like SVN et al) is that forks are very easy and lightweight. So the way you are supposed to work with it is as follows: you have a single master branch which contains a stable version, and for each change you create a separate fork, implement the change in fork, test it, and once it's ready, you merge it back into the master branch. Advantages of this approach are that 1) every developer always have a stable codebase when he/she begins working on a change, and if that change will turn out to be the dead end, you just leave it as is and don't merge it back, 2) each developer can work independently of each other (because of distributed nature of git), and 3) you can cherrypick which changes are going to be released (this is typically implemented by having additional "release" branch which devops people use for actual deployment).

This is how git is designed to be used, and so this is how it SHOULD be used. If you don't use it this way - you are doing it WRONG. This has absolutely nothing to do with Github (or BitBucket, or others) - they merely implemented a  GUI around git (and it's actually pretty thin layer above it - most of functionality you see on Github et al is provided by the git itself.

Incidentally, lightweight forks is exactly why git has been so wildly successful in huge projects like Linux kernel with thousands of developers working on it.
« Last Edit: November 12, 2021, 06:40:40 pm by asmi »
 

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14230
  • Country: fr
Re: Arrow DECA MAX 10 board for $37
« Reply #174 on: November 12, 2021, 11:56:34 pm »
Sure, lecture me on how DVCS work, it was obvious I didn't know.
The workflow you implement on top of DVCS, including how you manage branches, is completely context-dependent. No two organizations have the same approaches. You are probably confusing forking, branching and clones. Interestingly, excessive branching itself now tends to be considered less than ideal, but it again all depends on a team's specific workflow. There isn't just one.

The github link I gave shortly explains the two approaches you can use, and I explained numerous times why I favor the collaborator approach to the fork approach UNLESS you have a good reason to do it with forks. I have given my main reasons, which seem to be consistently ignored. Good, I just hope at least a few people have gotten my points. For the others, I don't care. And I have used DVCS for years, thank you. Using the collaborator model doesn't mean that you're not using git as a distributed system either. DVCS have a number of benefits over centralized systems even when not "forking". But I think the term "fork" has been largely abused here.

Again, while forking can be alright if you're actually working on say a feature that is far from being ready, that may not get accepted in the mainline for months, and, most of all, that several developers may work on in parallel, if it's just a convenience as a personal backup or even just as a sort of bookmark (as we said earlier), this just dilutes projects. The more forks, and the more the dilution - this point has nothing subjective about it, it's not opinion, it's just mechanically inevitable. And unfortunately, those cases seem to be the norm rather than the exception on github. This goes hand in hand with the excessive use, IMHO, of "cloud" storage as well. I haven't seen recent figures, but the ones I saw from a couple years ago showed a lot more forks than pull requests, and even fewer merges. That may raise a few questions about the efficiency of it all. And yes, it's probably obvious by now that I don't like github much. And that yes, you can absolutely use git or other DCVS on your own organization's terms, on your own servers, without breaking the spirit of DVCS.

Oh and a final thought related to this discussion. The most successful open-source projects have pretty much all used a form of vertical organization - the Linux kernel being a prime example - which is likely how they could become successful in the end. As Linux shows, the use of a DVCS is absolutely not contradictory to having some amount of vertical project management, and is still quite useful in this setting. Github, while promoting, whether they want it or not, the dilution of open-source projects, hinders vertical project management. Not saying it prevents it, but it makes it unnecessarily harder. Now, what happens, to be honest, is that many of the successful projects, even when they have a github repo, are primarily managed outside of github. And to get back to Brian here, even if it's a small project, what I've seen so far is that it's what he does. (IIRC, he has even stated on his github page to use this forum for any communication... ;D )
« Last Edit: November 12, 2021, 11:59:25 pm by SiliconWizard »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf