Bolean Logic Solver

Go To Last Post
31 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dear Friends,

I am trying to build a Boolean Logic Solver and using ATMega16 as control unit, 16x2 LCD as output and 4x4 panel of switches as input. What it should do:

1. It should take inputs through switches (as minterms - maximum 16) till the done switch is pressed
2. The inputs entered should be displayed on 16x2 LCD
3. Lastly it should solve that through K Map and display the simplified expression on LCD

I have build the hardware part PORTA as LCD and PORT B and C for 4x4 Switches...This is project as for my curriculum and the deadline is 10th May..I am finding it tough to write the code...
Now I want friends who can write code for me( I can mail you schematic if you desire so) and even I am ready to pay...
The guys who are interested in this project can directly drop a mail at my id: fr.manish@gmail.com with the quotation (as to what they will charge) in Indian Rupees (1USD ==> 42 INR). The only condition is the code should be working perfectly...for further clarification you can contact me directly or through this post...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ah a Dutch auction!

I'll do it for $10,000.

(though it'll be a few sleepless nights to meet a 10th May deadline - sadly I only have about 30 years of experience doing this)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

$10,000..I am sorry dude...I am student not a CEO of Fortune 500 Company...tell me something viable

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

That's the idea in a Dutch Auction - you start with a ridiculously high bid then others try to undercut it.

Let's see what happens.

(but the intention of my post was really to say that even a fairly experienced engineer would have a problem delivering this by 10th May - in the UK, because of a Bank Holiday, it's only 8.5 working days away)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

This is project as for my curriculum

So you're willing to pay others to finish your assignment for you, so you can then (in theory) be employed to do the work that you just admitted you cannot do?

EDIT: For my own curiosity - how would a logic minimization algorithm work? I've done it a million times in EE class using Karnaugh maps, but can't think of a way to do it via software.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I will do it if you put my name on your diploma and send it over...

Or for 400 000 rupees... (just underbidding clawson by 20000 rupees...)

If you can't make the assignement, why should you graduate?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Now I want friends who can write code for me( I can mail you schematic if you desire so) and even I am ready to pay...

Even ready to pay? Oh, and I was just ready to waste my time, help fool your presumptive employers, and be part of the scam of cheating against your fellow students (who fought for their grades by themselves, and don't want their grades deflated by your manouvre). Now you are offering money too. I'm jumping up and down! Not.

I will, for once, use less proper language, but this time I find it motivated: Do us all a favour and piss off!

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hmmm--it's been a while. One should be able to apply the "paper rules" one-at-a-time repeatedly, and a 4x4 shouldn't be too bad. IIRC the confusing part to me was if you allow "don't care" entries in the table, and then you need to decide which state of that square is "best" for overall minimization. So if that is in your rules then you need to have backtracking.

I'd think that for debugging/tracking/verification purposes you'd want to keep all the intermediate matrix states anyway.

Display on a 2x LCD wouldn't be as conveneint as on a 4x, but I suppose you put rows 1&2 on the left, 3&4 on the right, and still room to put info like which rule fired and the step number and such.

It sounds like a fun assignment.

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OK, I really didn't care enough before butr now that Lee talks about it with such enlightenment (correct word?) I have to ask: Is a "K Map" a "Karnaugh Map"?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wikipedia certainly seems to think so:

http://en.wikipedia.org/wiki/Kar...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Wikipedia certainly seems to think so:

http://en.wikipedia.org/wiki/Kar...

:lol: And does the homework, too!

Quote:
Software

There are many software applications to solve K-Map problems. One such free program for Linux and Windows platform is GKMap.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've used espresso in the past. Here is an article about it: http://en.wikipedia.org/wiki/Esp...

It took me forever to find the source code, but I just remembered that the modernized source code is called espresso-ab. Here is a link: ftp://anonymous@ftp.cs.man.ac.uk...

edit:
Oh, for a 4x4 kmap? Yes, just use the rules you were taught about how to do it by hand. You would only need something like espresso for large kmaps.

Math is cool.
jevinskie.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
IIRC the confusing part to me was if you allow "don't care" entries in the table, and then you need to decide which state of that square is "best" for overall minimization. So if that is in your rules then you need to have backtracking.

Dear Friend,

My first target is to build a simple code which can solve the Karnaugh Map...I am right now not concerned with the dont care terms...just one thing "1 - 16 inputs which can be simplified in an K Expression"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Manish, I have a special offer. I'll offer you a full service package!

Full service means you don't have to worry about the code any more. And, that is the special part, I will also go through all the trouble to submit the code. Yes, you got that right. My service includes that I will send code directly to your teacher and answer all questions he or she has.

This way you can concentrate on the more important things in life. You won't have to waste time creating or submitting the code at all.

Sounds great, eh? All you have to do is to provide the necessary details. Your teacher's contact address and for whom I am supposed to submit the code. Just leave the rest to me.

Deal?

Stealing Proteus doesn't make you an engineer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

fr.manish wrote:
Dear Friends,

Now I want friends who can write code for me( I can mail you schematic if you desire so) and even I am ready to pay...

Wow, even the guys in India are outsourcing their work now! Back to the West, no less!! I can guarantee it will not be cheap. Taxes, benefits, retirement packages, health care.... It all adds up. Hundreds of dollars/euros per hour. Triple for overtime to get it out the door fast.

It might have been a good idea to get started on this assignment a little earlier.

-Tony

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Wow, even the guys in India are outsourcing their work now! Back to the West, no less!! I can guarantee it will not be cheap.
The dollar is at an all time low, so here's the outcome. ;-)

There are pointy haired bald people.
Time flies when you have a bad prescaler selected.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

fr.manish wrote:
Now I want friends who can write code for me( I can mail you schematic if you desire so) and even I am ready to pay...

Damn!

And to think that I've been working on a project for a client for over a month, without compensation of any kind.

In fact, the guy asked me what I wanted to get paid to write the code for a viable consumer product, but I couldn't honestly quote him a price. I just don't know what my talent is actually worth.

Sad, isn't it?

Maybe he'll buy me a Hakko Hot Air tool or De-soldering System for all of my hard work...

I guess I'm just a terrible business negotiator!!!

You can avoid reality, for a while.  But you can't avoid the consequences of reality! - C.W. Livingston

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

The dollar is at an all time low

You are young daqq, so your ignorance is forgiven. It's ben a while since, though. IIRC circa 1970.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

K-maps are good for hand solutions, since humans are good at pattern recognition. Mechanical minimization of boolean equations is better done by simple boolean algebra -- it a simple symbolic computation problem if you restrict your self to the single output case and don't care about logic path lengths.

I once wrote a Smalltalk program where there was a boolean operator class that was the superclass to logic function classes. A logic expression was represented by a tree of logic function classes. The "simplify" message was sent to the top node, and it recursively simplified it's subnodes.

Worked great, very robust. There is nothing like a half dozen mutually recursive methods rattling around a recursive data structure to provide a solid morning's entertainment.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@ 10+ Superfreak

Thank You friend for giving me a good link which taught somethink more...and all guys who are criticing me out there...
I have tried to implement code...and still trying very hard for that...but my teacher only recognizes thinks that works...no rewards for efforts made...that is the reason me being so straightforward...and all you there...I admit you have right to say whatever you can...since I have not started this project in time...if I would have been It would have been completed...

PS: Guys out here in engineering colleges pay hefty amount to project gurus (around 250-500 USD)...I am trying nto build project of my own...and for past one month I have been working on different algos...Now since I have to submit this project synopsis so even cant change my project...so is that I have turned to avr freaks...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

K-maps are good for hand solutions, since humans are good at pattern recognition. Mechanical minimization of boolean equations is better done by simple boolean algebra -- it a simple symbolic computation problem if you restrict your self to the single output case and don't care about logic path lengths.

I once wrote a Smalltalk program where there was a boolean operator class that was the superclass to logic function classes. A logic expression was represented by a tree of logic function classes. The "simplify" message was sent to the top node, and it recursively simplified it's subnodes.

Worked great, very robust. There is nothing like a half dozen mutually recursive methods rattling around a recursive data structure to provide a solid morning's entertainment.

That actually sounds intersting. Since I don't know smalltalk, would you consider sending me a class diagram so I can give it a go in Java? I'm always looking for interesting small projects to work on while stuck at Uni between classes.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Manish, the moment you have to work with incompetent people for the first time in your professional career will be the moment you know why real engineers hate cheaters.

When you discover these people have all the credentials, all the papers to do the job they are supposed to do, but can't find their own arse, with both hands, even when a flashlight would stick in their arse, you will then finally see the reason why teachers want people to do their one homework.

If your colleagues, project partners or suppliers are not up to the job it will be you who is supposed to do the work of these cheaters in addition to your own work. So you have to do twice the work in the project, deal with their lies, failures and excuses and all this of course for the same pay. Or you sink as low as they are and start lying cheating and creating excuses.

But thanks for providing one more piece of insight into the Indian outsourcing industry. I already knew that a lot of bribing was involved in getting a degree and work in "the industry", but the going rate for 250 to 500 US$ for a school project was new to me.

Stealing Proteus doesn't make you an engineer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Guys out here in engineering colleges pay hefty amount to project gurus (around 250-500 USD)...

I dont care shit. That is a really bad argument, and you know it. If I would argue that way it would eg. be OK for me to steal becuase "others do it". By rationalizing your actions with such an argument you are actually siding with the scum instead of with the good guys.

[Next, we'll hear the "it's a cultural thing" argument.]

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OK, Manish.

Let me tell you a little story ... a true one.

I have used RentaCoder to win some projects to fill in time between larger projects. Every now and again I am "invited" to bid on a project that is obviously a university assignment. I usually download the Word document provided by the "customer", read it and then examine the document's "properties". It is amazing how many times I find the lecturer's name and university name there. A few minutes with Google finds me the contact details and then my fun starts.

Here is the reply from Loughborough University in 2005 to one such case. You will see that the student (from Pakistan) never completed his degree. What shame he would have been exposed to back home ... due entirely to his own stupidity. I worked hard for my Masters Degree ... so I hate cheats.

"> I am writing to report that one of your students has "invited" me, and most likely others, to place a bid via the Rent-A-Coder website to prepare a response for your recent assignment on microprocessors.

I thought that I would bring you up to date on this case, which you brought to our attention.

We identified the student, very easily, as he'd used his surname as a login name. He confessed to the charges, but suggested to us that he hadn't really used the information obtained from RentACoder. His case was heard on Friday of last week and the panel hearing the case decided to take away the marks that he earned for the coursework part of my module. Investigations revealed that he had also posted a brief for some work for his final year project. The panel decided to take away his project marks (he hasn't actually earned them yet, but they will be taken away when he does). Further, the panel cancelled his right to reassessment in that module. With the way that the programme is structured, this means that he cannot possibly go away from here with a degree. I was a little disappointed; I had hoped that the panel would be more severe. However, the panel has robbed him of his degree and that is, I think, justice.

Thanks again for your help in alerting us to this problem. I hope that you can feel satisfied at the outcome too.

Department of Computer Science
Loughborough University
UK "

(I have removed the author's name)

I have had 3 such "successes" over the years. And that was without even trying. Who needs cable TV?

Ross McKenzie, Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OP keeps coming back at us. Geez, most of the stuff is very stragihtforward, and well-covered here and elsewhere. The standard "micro" parts: "Hello, world!" to an arbitray spot on the cleared LCD; LDC driver in place. 4x4 switch input, with 2 complete ports, no less! A simple debounce job. K-map solving examples apparently readily available. Or just apply the rules that you learned in class or from your text.

One additional button to "single-step" through the rules showing the intermediate "states" of solving. It is a cool assignment IMO; need to demonstrate standard micro stuff, plus implementing an algorithm. IF YOU CAN'T DO THIS ONE IN, SAY, A WEEKS WORTH OF PROJECT TIME THEN YOU ARE IN THE WRONG LINE OF BUSINESS OR YOU HAVE PAID NO ATTENTION TO THE EARLIER BLINKY-LED PROJECTS.

I, and others here, will help quite a bit on "fixing" specific pieces especially on an interesting project. But you have to demonstrate that you've put in the effort to do the basics.

My quote is 121,464.62 INR

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

IF YOU CAN'T DO THIS [...]

Now look what you did, Manish. You got Lee screaming... :shock: Now we all need to use our alternate userIDs and post noob-style "Which compiler is best" questions so that he can get all those emotions out of his system and calm down. 8)

Quote:

It is a cool assignment IMO

Yes, and the person writing the assignment was smart enough to formulate a problem that probably is quite hard to find a turn-key solution to (as is the case with eg. "the clock assignment"/"the timer assignment").

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I know this is going to be a shock to you.
But having/ paying someone else to write the code for you is cheating. The Freaks are most shocked by you and many other young peoples frankness to cheat and act as if everyone accepts cheating and cheaters as if we too have no conscience.
Most people have much higher moral values that prevent them from participating in defrauding yourself and not ‘learning’ the skills needed to use the degree. You may not realize it but you are cheating your classmates, future employers, and yourself most of all.
We are always glad to help anyone learn, it’s just lately seems most students are just as frank in being immoral, and that is a very sad state for the next generation of EE's and our future societies as a whole.

PS:
Good one Ross!!

Resistance is futile…… You will be compiled!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
That actually sounds intersting. Since I don't know smalltalk, would you consider sending me a class diagram so I can give it a go in Java? I'm always looking for interesting small projects to work on while stuck at Uni between classes.

Hi Dean,

I'd be happy to send you the code and any documentation if I had any idea where to find it. It had to be at least 15 years ago -- maybe longer. The project was mostly for entertainment value and to learn Smalltalk.

What I recall is the following:

1. The code was limited to the simple case of minimizing a single logic expression. It did not try to limit number of levels of logic. In general, logic minimization is a useful part of mechanical logic synthesis, but real-world cases involve simultaneous minimization of multiple outputs within a total propagation time constraint.

2. There was one foundation class for all logic elements. In modern OO languages it would make sense for it to be a virtual class.

3. The logic functions were derived from the foundation class: and, or, invert, and 'input'. IIRC I also did xor. and, or, and xor allowed arbitrarily many inputs.

4. The logic expression was represented as a tree. Each logic function was an object instance that was a node in the tree, and contained a collection of child node instances.

5. Each logic function class handled some kind of 'minimize' message specific to that function. Inputs, of course, are trivially minimal. You minimized an expression by telling the output to minimize itself, and it simply recursively sent the minimize message to it's child nodes that were it's inputs. It amounts to a pre-order tree traversal.

6. When everything was done, the result node was sent some message to pretty-print itself, which of course was another recursive tree traversal.

The whole thing was just a simple symbolic expression simplifier that did the standard boolean algebra transformations via tree-juggling.

That's about all I remember. Have fun!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Now I want friends who can write code for me( I can mail you schematic if you desire so) and even I am ready to pay...

NO! NEVER! DO IT YOURSELF !!!!!!!!!!!!!!!

Make a start yourself and ask questions when you really get stuck.

Definition: "Really Get Stuck" ...i.e. "One or more consecutive sleepless nights working on the same sub- routine."

Asking Anyone to do your work for you, will never help you in the workplace, you need to think for yourself.

Ask questions that encourage you to work and solve the problems at hand but NEVER expect to be GIVEN the solution 100% of, or at any time.

If that were the norm, then there would only be "1 Smart person" giving all the answers to everyone else..... BTW, Who is this one "1 Smart person" ??? I want to employ him, if he exists, he could solve everything!

Think and work hard, after long hours if you have a realalistic question, ask.

Ron, who was taught to find solutions and was never spoon-fed answers.

Edit: fixed some quotes.

 

Last Edited: Thu. May 1, 2008 - 02:58 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@ ROSS:

Thank You sir,

That was really inspiring...

But well sometimes in real pressure you seem to ask wrong question...and get right answer...the same happened with me here...

But well I would like to thank all of you who took part in the discussion...and I am happy and even contented to shout and say that I am some able to get somethings working...What I have managed

1. I am able to take 6 inputs from switches at one time
2. The LCD is displaying the inputs and then giving the minimized expression for two variables, three variables, and four variables...
3. I have also interfaced Nokia 6100 Graphical LCD successfully with the controller...so soon I will try to implement my code with Graphics LCD in mind...
4. I learned lot of stuffs esp morally...

Now my task is:
1. To implement a switch function for more than 6 inputs at one time(maximizing it to 16)
2. To try to consider the don't care conditions as well
3. To build a GUI so that it can be easily interfaced with a PC

YOU ALL GUYS HAVE MOTIVATED ME... THANKS A LOT

PS: But still I am getting problems...I some times get an extra function during minimization...may be a bug in my code...ROSS=> If you want I can send you the my project description and progress so far...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This method is similar to Karnaugh maps but a bit easier to automate.

http://www.embedded.com/columns/...