[pic] Coursework Title: FPGA Programming Project Module Name:Programmable Electronic Devices Module Code:6008ENGFRI Level:6 Credit Rating:20 Weighting:100% Lecturer:C Wright Issue Date:18/01/2013 Hand-in Date:28/03/2013 Hand-in Method:Hand in printed report at Avril Robarts LRC Feedback Date:15/04/2013 Feedback Method:Return of marked scripts Programmes:IEC Learning Outcomes to be assessed LO1, LO2, LO3, LO4, LO5 6008ENGFRI Programmable Electronic Devices Design Project, Spring 2013 Central Heating Room Thermostat / Controller Objective.

You are to design a circuit for a combined room thermostat and system controller for the domestic central heating system shown in figure 1, to be implemented in a Spartan 3E FPGA. The device is to be mounted on a wall in the main living room. Normally, the thermostat will display the temperature that it measures in the room. The device will have buttons for the user to increase or decrease the temperature setting for the room. While set temperature adjustment is carried out, the display of measured temperature will be replaced with a display of the set temperature.

The set temperature will be displayed for a further five seconds after the final button press. When the temperature falls an "indicated" one degree below the set level, the heating will be activated until the set level is reached again. The heat source is a gas boiler/circulating pump unit, with a single ON/OFF control. This will heat water, which will be circulated through the system by the pump. There are three separate "zones" in the system. Zone 1. Downstairs heating Zone 2. Upstairs heating Zone 3. Hot water The thermostats in zones 2 and 3 will provide a simple ON/OFF demand for heat.

Water flow into each zone is controlled by a motorized "zone valve". When a valve is powered, it opens. When power to the valve is switched off, the valve is closed by a return spring. For safety reasons, the boiler/pump unit must not operate unless at least one of the three valves is open. This link shows a typical valve used in this kind of application. http://content. honeywell. com/UK/homes/Catalogue/Heating%20Controls/2. 19%20V4043. pdf In addition, each zone has an external real time clock which outputs a heating enable/disable signal for that zone, according to user requirements.

This clock is not part of the project (unless you finish early and feel like designing one! ) You may assume that there is sufficient hysteresis in the system not to require any complex PID type controller! CONTINUES… Figure 1. Heating system schematic diagram (T1 is the device you will design) Objectives 1. Produce a "tighter" specification for the project. You will design a prototype to be tested on the Spartan 3E development kit, so bear in mind what is available to you on that kit. (Assume that external circuits will handle the conversion between your digital signals and the mains voltage signals of the central heating equipment. 2. Use a hierarchical design methodology to break the project into a set of smaller modules which you can eventually join together to produce the complete system. Each module should have its own specification. For example, what inputs are required, what outputs are produced and how it can be tested. Using a modular design technique will allow you to improve the internal design of each module at a later date. 3. Your design should be of sufficient complexity to demonstrate your skills, but not so overly complex that you risk not completing the project within the allotted time. This is why we are using external real time clocks, which can be simulated using a switch. Feel free to design internal real time clocks, at a later date! For now keep it simple, add "sophistication" when you have something that works. If you can find anything in the Xilinx demos that you can make use of, then use it. ) CONTINUES… 4. The design will be entered using schematic capture, VHDL, or a combination of both, on the Xilinx ISE software. 5. Simulate and test each module you create using an appropriate test bench. 6. Designs will be downloaded to a Digilent Spartan 3E, FPGA Starter Kit for demonstration of results. 7.

A technical report of a standard formal style will be required to be submitted, which should include: • Introduction, Outline design & reasons for choice. (10%) • Detailed circuit design. (30%) • Specification of test bench waveforms, with explanation of strategy used. (20%) • Detailed results, analysis and discussion. (20%) • Commentary on results of practical demonstration using development board. (10%) • Conclusions, ideas for development and references. (10%) • Appendices, containing printouts of the circuit schematic or VHDL coding, test bench waveforms, placement & routing and results of all simulation work. . Submission Date: The project report is to be handed in by March 28th 2013. This project is worth 100% of the total module module marks! CONTINUES… Hints. Break it up! Begin with a "top down" approach and start very simple. For example, a module which controls a single zone valve might have a symbol like this. Three of these combinational logic circuits could then be combined to create a module that controls all three zone valves and the boiler. The (much more complicated) room thermostat section of the device could then be similarly broken into smaller parts.

Breaking the project into small, well specified, designed, tested and documented modules gives you opportunities to earn marks even if the internal workings of some of the individual modules can't be completed! Temperature Range Use a sensible temperature range. It's meant to be a domestic room thermostat. Nobody is going to set their thermostat above thirty degrees! You could argue that there might be a sensible minimum as well. If you use a state machine to store and adjust the SET temperature, for example, then making the range large might result in a complicated state machine, (unless you are good at VHDL! Displaying the Set and Read Temperatures The temperature display should be done on the two digit, 7-segment display add-on cards that plug into the two six pin extension sockets on the starter kit. You should use these displays as a first option as it involves a bit of electronic design that will be useful experience and it is a solution that can be simulated with a test bench. The manual for these displays can be found here http://www. digilentinc. com/Data/Products/PMOD-SSD/Pmod%20SSD_rm. pdf Read this manual as it contains important information that might influence some very early design decisions.

Don't try to use the starter kit's LCD display. You don't have time! Room Temperature Simulation We don't have temperature sensors and the A/D converter on the kit is difficult to use. It requires serial programming, so like the LCD display, is most easily used with an embedded microprocessor, such as PicoBlaze. Since we can't simulate "programmable state machines" easily, that leads us into fields we don't want to go into! I suggest you use a single byte of data to simulate room temperature. Adjust this by pressing buttons. If you feel adventurous you could try to use the rotary knob.

It is slightly more complicated. END OF SPECIFICATION – START OF LEGAL STUFF! Guide to Performance Criteria 70% and above: Your work must be of outstanding quality and fully meet the requirements of the coursework specification and learning outcomes stated. There must be clear evidence of an understanding of the State Driven Design method. The state diagram should be perfectly correct and there should and perfect correlation between state diagram and finished program. 60% - 70%: Your work must be of good quality and meet the requirements of the coursework specification and learning outcomes stated.

There must be clear evidence of an understanding of the State Driven Design method and enough correlation between initial design and finished program to indicate that the correct process has been followed. The program should perform the required functions. 50% - 60%: Your work must be comprehensive and meet all of the requirements stated by the coursework specification and learning outcomes. The ladder must describe a state machine and it should largely match the state diagram. The program should perform the required functions. 40% - 50%:

Your work must be of a standard that meets the requirements stated by the coursework specification and learning outcomes. The state machine should be largely correct and the program should perform its required function. Below 40%: Your work is of poor quality and does not meet the requirements stated by the coursework specification and learning outcomes. There is a lack of understanding of key concepts. The state diagram is missing, incomplete or incorrect and there is little correlation between it and the ladder program. Whether the program works or not there will be very few marks available if the state machine design process is not used.

Extenuating Circumstances If something serious happens that means that you will not be able to complete this assignment, you need to contact the module leader as soon as possible. There are a number of things that can be done to help, such as extensions, waivers and alternative assessments, but we can only arrange this if you tell us. To ensure that the system is not abused, you will need to provide some evidence of the problem. More guidance is available at http://www. ljmu. ac. uk/corporate/SPR/60399. htm. Any coursework submitted late without the prior agreement of the module leader will receive 0 marks.

Academic Misconduct The University defines Academic Misconduct as ‘any case of deliberate, premeditated cheating, collusion, plagiarism or falsification of information, in an attempt to deceive and gain an unfair advantage in assessment’. The School takes Academic Misconduct very seriously and any suspected cases will be investigated through the University’s standard policy (Academic Misconduct Policy). If you are found guilty, you may be expelled from the University with no award. It is your responsibility to ensure that you understand what constitutes Academic Misconduct and to ensure that you do not break the rules.

If you are unclear about what is required, please ask. Cheating includes: i) any form of communication with, or copying from, any other source during an examination; ii) communicating during an examination with any person other than an authorised member of staff; iii) introducing any written, printed or other material into an examination (including electronically stored information) other than that specified in the rubric of the examination paper; iv) gaining access to unauthorised material in any way during or before an assessment; ) the use of mobile phones or any other communication device during an assessment or examination; vi) the submission of false claims of previously gained qualifications, research or experience in order to gain credit for prior learning; vii) the falsification of research data, the presentation of another’s data as one’s own, and any other forms of misrepresentation in order to gain advantage; viii) the submission of work for assessment that has already been submitted as all or part of the assessment for another module without the prior knowledge and consent of the Module Leader for the subsequent assessments; x) the submission of material purchased or commissioned from a third party, such as an essay-writing service, as one’s own. Plagiarism is defined as the representation of the work, artefacts or designs, written or otherwise, of any other person, from any source whatsoever, as the student's own. Examples of plagiarism may be as follows: i) the verbatim copying of another's work without clear identification and acknowledgement including the downloading of materials from the Internet without proper referencing of materials; i)the paraphrasing of another's work by simply changing a few words or altering the order of presentation, without clear identification and acknowledgement; iii)the unidentified and unacknowledged quotation of phrases from another's work; iv)the deliberate and detailed presentation of another's concept as one's own. Collusion includes: i) the conscious collaboration, without official approval, between two or more students in the preparation and production of work which is ultimately submitted by each in an identical or substantially similar form and/or is represented by each to be the product of his or her individual efforts; i) collusion also occurs where there is unauthorised co-operation between a student and another person in the preparation and production of work which is presented as the student's own. For more information you are directed to following the University web pages: • Information regarding academic misconduct:http://www. ljmu. ac. uk/studysupport/81924. htm • Information on study skills:http://www. ljmu. ac. uk/studysupport/ • Information regarding referencing:http://www. ljmu. ac. uk/studysupport/69049. htm ----------------------- School of Engineering, Technology and Maritime Operations