What Are the Key Takeaways from My 2-Week HDL Microcontroller Project?

Click For Summary

Discussion Overview

The discussion revolves around a student's experience with a two-week project focused on designing and implementing a microcontroller architecture using HDL (Verilog). Participants explore the significance of the project, potential future directions for HDL programming, and the relevance of Verilog in industry applications.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • The student describes their microcontroller project, detailing its architecture, instruction set, and design choices.
  • Some participants suggest exploring advanced topics such as instruction pipelining, high-level language hardware layers, and various architectural paradigms like RISC and DSP.
  • The student notes that while they have implemented some suggested features, others like pipelining and opcode prefetching were deemed unnecessary due to design constraints.
  • The student questions the broader significance of their project beyond academic purposes and inquires about the current use of Verilog in industry.
  • One participant reflects on the potential for using clock manipulation techniques in microcontroller design, suggesting it could provide valuable background for future endeavors.
  • There is a request for clarification regarding the relevance of the project to pursuing a career in computer engineering (CE) versus electrical engineering (EE).

Areas of Agreement / Disagreement

Participants express varying opinions on the significance of the project and the applicability of certain design features. The discussion remains unresolved regarding the broader implications of the student's work and the current industry practices involving Verilog.

Contextual Notes

Some assumptions about the applicability of certain design features and the significance of the project may not be universally accepted. The discussion reflects a range of experiences and perspectives on HDL programming and microcontroller design.

Who May Find This Useful

Students and professionals interested in microcontroller design, HDL programming, and the application of theoretical concepts in practical projects may find this discussion relevant.

Mastermind_14
Messages
16
Reaction score
0
Hi people!

I am a student of Electrical engineering (5th semester) and have a profound interest in HDL (ie. verilog) Programming. For my 5th semester project of Digital System Design i have designed and implemented a primitive microcontroller Hardware architecture from scratch having...

>All 2 byte instructions
>128 byte ROM
>63 different instructions including Jumps,call/return,push/pop ,CJNE, DJNZ etc(most of 8051 and PIC18f452)
>ALU, ROM and Processor are separate modules inside the main module "IC"
>16 byte deep stack
>8 byte of byte addressible RAM
>1 byte of bit addressible RAM
>Time shared architecture of busses
>Machine cycle of 1 clock cycle
>and many more

This hardware architecture that i have thought of and implemented in Verilog with greatest level of detail was completed in just 2 weeks with little effort which made me eager to explore this HDL even more and pick even more challenging projects. so if you can guide me to some challenging project or want to know about this microcontroller implementation in verilog then please PM me or post to this thread.

Furthermore does this project of mine has any more significance then just serving my academic purposes? If yes then what is the significance? and if no then in what direction should i spend my HDL programming skills such that I might get some recognition ( credited for doing something unique and useful )?

NOTE: An image of the Instruction architecture has also been uploaded to give a vague idea of what I am saying.
 

Attachments

  • INSTRUCTION ARCHITECTURE.jpeg
    INSTRUCTION ARCHITECTURE.jpeg
    31.9 KB · Views: 519
Engineering news on Phys.org


You can look into things such as instruction pipelining, datablock moves, high level language hardware layer, intelligent branch select opcode prefetch, risc and parallelism, aisc, dsp architecture, harvard architecture, memory control.
 
Last edited:


Phrak said:
You can look into things such as instruction pipelining, datablock moves, high level language hardware layer, intelligent branch select opcode prefetch, risc and parallelism, aisc, dsp architecture, harvard architecture, memory control.

Dear Phrak,

First of All thanks for your reply.Now the thing is that I have already employed

>risc and parallelism
>harvard Architecture
>datablock moves
>memory control

While I did not find any use of

>instruction pipelining
>intelligent branch select opcode prefetch

This is because I designed and implemented the architecture in a HDL with no intention of implementing it on FPGA (unless it is worth implementation) so I designed it such that the input and output data throughout the microcontroller is multiplexed on negative level and positive level of the clock respectively. So this cannot be optimized more then a single clock cycle while every process is completed with just zero time delay and pipelining would mean adding latency for no increase in clock speed. Same is the case with prefetching of opcode.

Though I find aisc and dsp architecture the next fields that I should explore so thanks for this suggestion.

I want to know a few more things.

>The main question remains unanswered "Does this project of mine has any more significance then just serving my academic purposes?"

>Is Verilog being currently employed to implement and simulate microcontroller architectures in the Industry? If yes then which companies are doing this?
 


It wasn't apparent from you initial post what all you'd been doing. I'd though perhaps a bare bones micro, and so the seggestions for what you might pursue. I haven't done any of this in 15 years, so I'm out of this loop, but there are all kinds of games you can play with the clock. The external clock can drive an internal frequency multiplier, so that you can generate multiple internal clocks with edges just about anywhere you want them.

What your doing should give you some background if you intend to pursue a CE. I hope someone else has better answers than I.
 


I didnt understand what you mean by

Phrak said:
What your doing should give you some background if you intend to pursue a CE.

Can you please elaborate it.
 


Mastermind_14 said:
I didnt understand what you mean by ...
Can you please elaborate it.

I re-read your first post. I see you are an EE student, rather than CE. Either way, it should serve just as well. But next time you speak to an engineer, ask him of what he learned in school applies to his current job.
 

Similar threads

  • Sticky
  • · Replies 13 ·
Replies
13
Views
8K
  • · Replies 1 ·
Replies
1
Views
13K