summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Bernhard Urban [Fri, 16 Apr 2010 11:43:53 +0000 (13:43 +0200)]
review: bbcode und kleinere anpassnungen
bitte textwidth=80 verwende, sonst schauts in myTI scheisse aus...
Alex [Thu, 15 Apr 2010 16:54:44 +0000 (18:54 +0200)]
weitere kommentare im review
Bernhard Urban [Wed, 14 Apr 2010 21:28:38 +0000 (23:28 +0200)]
TODOs und kleine anpassungen bei TBs fuer die ALU
Bernhard Urban [Wed, 14 Apr 2010 21:19:54 +0000 (23:19 +0200)]
review: designspec.txt
Bernhard Urban [Wed, 14 Apr 2010 19:32:04 +0000 (21:32 +0200)]
review: hwmodspec.txt
Alex [Wed, 14 Apr 2010 09:48:59 +0000 (11:48 +0200)]
Veraenderungen an den reviews.
Ich habe mal meinen senf zu den reviews dazu gegeben. Ich denke die gehoeren noch ueberarbeitet aber sie sollen zumindest mal erlauben einen groben ueberblick meiner gedanken zu bringen. die zeilen werden noch in die passenden kategorien gebracht.
Bernhard Urban [Mon, 12 Apr 2010 16:23:00 +0000 (18:23 +0200)]
quartusskripte: angepasst fuer webedition und tilab (weil die webedition das fpga vom labor nicht unterstuetzt)
Bernhard Urban [Mon, 12 Apr 2010 12:45:15 +0000 (14:45 +0200)]
alu/entity: interface angepasst.
laut lva-leitung soll man keine enums im interface verwenden.
Bernhard Urban [Mon, 12 Apr 2010 00:10:24 +0000 (02:10 +0200)]
makefile: verbessert
kleines Howto:
o beh-sim wird so aufgerufen: beh_$(FILE)
- Fuehrt beh-sim fuer $(FILE) aus. Dafuer muss beh_$(FILE)_tb.vhd und beh_$(FILE)_tb.do
existieren.
- Instanzname der tb_entity muss immer "sim" sein.
- Instanzname der instanzierten Komponente muss immer "inst" sein.
- Files die kompiliert werden sollen, muessen in $(BEH_IFILES) angegeben werden (Achtung: keine
Testbenches angeben!)
o post-sim wird aehnlich aufgerufen: post_$(FILE)
- hier ist zu beachten, dass das entsprechende VHO bzw. SDO File von Quartus schon generiert
wurde (per ~hwmod/quartus/windows.cmd projekt erstellen, mit Quartus dann die Projektdatei
oeffnen und alles builden)
- Instanzname der tb_entity muss immer "sim" sein.
- Instanzname der instanzierten Komponente muss immer "inst" sein.
- koennte noch sein dass hier noch etwas angepasst werden muss
- Files die kompiliert werden sollen, muessen in $(POST_IFILES) angegeben werden. Im
Allgemeinen werden das globale Definitionen sein (z.b. fuer Typen, Konstanten, etc. die fuer
die Testbenches benoetigt werden), da die sich zu simulierenden Instanzen im VHO-File
befinden. (Achtung: keine Testbenches angeben!)
Beispiele:
$ make beh_alu
$ make post_alu
$ make clean #loescht alle simulationsdateien
Bernhard Urban [Sun, 11 Apr 2010 15:07:21 +0000 (17:07 +0200)]
post sim: simulation verhaelt sich leider nicht wie gewuenscht
nachdem ich schon den ganzen nachmittag verschissen hab, die postlayout simulation zum laufen zu
kriegen, hier mal eine zusammenfassung meiner erkenntnisse:
* quartus erstellt simulationsdaten (wenn das tcl-skript verwendet wird) fuer modelsim im
verzeichnis ~hwmod/quartus/calc/simulation/modelsim
* modelsim starten
* change directory (z.b. ~hwmod/sim/post)
* File -> New -> Lib
* Compile -> Compile und folgende files kompilieren
o ~hwmod/quartus/calc/simulation/modelsim/calc.vho
o ~hwmod/src/gen_pkg.vhd
o ~hwmod/src/alu_tb_post.vhd
* Simulate -> Start Simulation
o in den tab "SDF" wechseln und die datei ~hwmod/quartus/calc/simulation/modelsim/calc_vhd.sdo
waehlen und in das feld "apply to region" "/bla" eingeben ("bla" ist dabei die instanz in der
testbench)
o nun unter dem tab "Design" work -> alu_tb -> sim und die testbench waehlen und die simulation
starten
das groesste problem war dabei, dass die entity in der calc.vho zu folgende wird:
> ENTITY alu IS
> PORT (
> sys_clk : IN std_logic;
> sys_res_n : IN std_logic;
> \opcode.NOP\ : IN std_logic;
> \opcode.SUB\ : IN std_logic;
> \opcode.ADD\ : IN std_logic;
> \opcode.MUL\ : IN std_logic;
> \opcode.DIV\ : IN std_logic;
> \opcode.DONE\ : IN std_logic;
> op1 : IN std_logic_vector(31 DOWNTO 0);
> op2 : IN std_logic_vector(31 DOWNTO 0);
> op3 : OUT std_logic_vector(31 DOWNTO 0);
> do_calc : IN std_logic;
> calc_done : OUT std_logic
> );
> END alu;
statt wie original:
> package gen_pkg is
> type alu_ops is (NOP, SUB, ADD, MUL, DIV, DONE);
> constant CBITS : integer := 32;
> subtype csigned is signed((CBITS-1) downto 0);
> end package gen_pkg;
>
> entity alu is
> port
> (
> sys_clk : in std_logic;
> sys_res_n : in std_logic;
> opcode : in alu_ops;
> op1 : in csigned;
> op2 : in csigned;
> op3 : out csigned;
> do_calc : in std_logic;
> calc_done : out std_logic
> );
> end entity alu;
das hat die folge dass man die testbench der beh-sim nicht verwenden kann UND dass ein ewig lange
fehlerliste kommt, wodurch es schwer war, festzustellen worin die fehlerursache ueberhaupt nun liegt.
es ist auch nicht besonders praktisch wie sich die entity defintion entartet... trotzdem hab ich mal
die testbench der beh-sim dafuer angepasst. die simulation dazu verhaelt sich leider nicht
gewuenscht, und ich hab im moment auch keine ahnung woran das liegen koennte :/
Bernhard Urban [Sun, 11 Apr 2010 12:32:53 +0000 (14:32 +0200)]
review: zwei pdfs geaddet und textdateien angelegt zum gemeinsamen ausfuellen ;)
Bernhard Urban [Sun, 11 Apr 2010 12:22:44 +0000 (14:22 +0200)]
alu/div: weniger code und weniger logic elements
4% (423/10570) logic elements @ 81.59MHz, klingt schon mal besser :)
Bernhard Urban [Sun, 11 Apr 2010 03:47:08 +0000 (05:47 +0200)]
alu/sync: warum hat sich da keiner der beiden tools aufgeregt? wird das nicht sonst ein latch?
Bernhard Urban [Sun, 11 Apr 2010 03:03:44 +0000 (05:03 +0200)]
alu/div: dision in hardwaregerechte art und weise
... trotzdem sind knappe 25% der logic elemente im quartus belegt :(
(zwar fuer ein kleineres fpga, aber das im tilab hat afaik 'nur' doppelt so viele)
immerhin laeuft das design mit 65.70MHz (33MHz muessen wir schaffen), klingt aber auch nicht so toll :/
Bernhard Urban [Sat, 10 Apr 2010 19:51:03 +0000 (21:51 +0200)]
quartus skript fuer linux:
... auch wenns inzwischen nix bringt (eventuell im tilab)
Bernhard Urban [Sat, 10 Apr 2010 19:45:23 +0000 (21:45 +0200)]
quartus fuer windows:
o cmd starten und windows.cmd ausfuehren
o ins erstellte projekt verzeichnis (quartus/calc) und calc.qpf (quartus projektfile) oeffnen
Bernhard Urban [Sat, 10 Apr 2010 18:45:28 +0000 (20:45 +0200)]
calc: fake top entity fuer synthese und ACHTUNG:
die quartus version fuer linux scheint unbrauchbar zu sein.
der build prozess bricht mit der meldung:
"Error: Current module quartus_map ended unexpectedly"
ab. das passiert leider auch mit dem demo projekt der lva leitung,
duerfte also nicht am code liegen... in der windows version geht
beides problemlos :/
d.h. ich passe mal das skript fuer die windows version... wird wohl
nix anderes uebrig bleiben als es nativ oder virtuell laufen zu lassen :(
ABER: da ich nicht viel ueber den fehler per google gefunden habe, koennte
es auch ein problem mit meinem lokalen system sein.
uebrigens: die linux version im tilab ist eine kostenpflichtige version
(mit der es dann wahrscheinlich auch funktionieren wird).
Bernhard Urban [Sat, 10 Apr 2010 18:42:17 +0000 (20:42 +0200)]
alu: fix fuer synthese
Bernhard Urban [Sat, 10 Apr 2010 16:21:18 +0000 (18:21 +0200)]
spec/alu: extriges register fuer ergebnis
die alte loesung wuerde zwar auch funktionieren, wuerde aber "mehr" programmieraufwand bedeuten, da
bei dieser variante zwei treiber existieren (z.b. muesste der parser vorher op2 auf Z setzen, sodass
es beim schreiben vom modul ALU keine konflikte gibt).
Bernhard Urban [Sat, 10 Apr 2010 14:36:17 +0000 (16:36 +0200)]
doc: modelsim handbuecher
Bernhard Urban [Sat, 10 Apr 2010 14:36:37 +0000 (16:36 +0200)]
alu: bessere testbench
alu: interne struktur leicht veraendert. ack signal wieder entfernt (doch nicht noetig)
Bernhard Urban [Fri, 9 Apr 2010 17:04:30 +0000 (19:04 +0200)]
alu: besseres geruest
calc_done geht leider nicht als inout, das hat leider nicht wirklich hin weil sich dann modelsim
aufregt, es seien zwei treiber vorhanden. deshalb gibt es nun ein ack-signal aka. "ack"
selbes problem fuer op2 (man braucht jetzt einen drittes register fuer das ergebnis).
mal schauen ob das doch irgendwie geht... (std_logic vs std_ulogic hab ich noch nicht ganz
durchschaut)
Bernhard Urban [Tue, 6 Apr 2010 13:06:37 +0000 (15:06 +0200)]
doc: Digital Logic & Microprocessor Design With VHDL - Hwang.pdf und eine erklaerung wie binaere division funktioniert
Bernhard Urban [Thu, 1 Apr 2010 22:51:51 +0000 (00:51 +0200)]
spec: makefile fix und todo geloescht
Bernhard Urban [Thu, 1 Apr 2010 21:19:48 +0000 (23:19 +0200)]
makefile fuer behsim
* vsim, vcom, usw. muessen in $PATH sein (ueberlichweise ist das
/opt/altera9.1/modelsim_ase/linux/).
* in IFILES gehoeren alle namen der vhdl dateien rein die kompiliert werden sollen, dabei ist die
reihenfolge ausschlaggebend.
* "make behsim" bzw. "make" kompiliert alle dateien die noetig sind. beim ersten aufruf bzw. nach
"make clean" werden libraries und mapping der libray automatisch vorgenommen. als directory wird
hierfuer ~hwmod/sim/beh verwendet (und wird nicht versioniert).
* "make startms" startet modelsim mit der behsim. modelsim muss aber nicht neugestartet werden
falls sourcefiles aktualisiert werden, sondern es reicht ein "make behsim" bzw. "make" im
~hwmod/src verzeichnis und dann ein "restart -f" in der konsole von modelsim selbst.
* im moment wird noch ein do file fuer die simulation der ALU beim aufruf von vsim uebergeben. das
is leider noch nicht sehr generisch und wird zu zeiten angepasst.
* das ganze duerfte auch im TILAB lauffaehig sein.
Bernhard Urban [Thu, 1 Apr 2010 21:17:23 +0000 (23:17 +0200)]
spec env: pdfs und pngs werden nicht mehr ins repo gepusht sondern vom Makefile generiert [1]
@alexander: ich hoffe das passt bei dir.
[1]: fabian hatte zum groessten teil windows im betrieb und pstricks zeugs nicht installiert.
Revert "windows und so"
This reverts commit
a16e4c9e5eddb4ef32dbc34579dcaa002ddba3ce.
Revert "don't ignore pdf's and push them"
This reverts commit
816112a0af2d06eb76d657275b2c541994d25b2d.
Bernhard Urban [Wed, 31 Mar 2010 18:35:13 +0000 (20:35 +0200)]
speck: weil wingit das so will :/
Bernhard Urban [Wed, 31 Mar 2010 18:34:34 +0000 (20:34 +0200)]
alu: erster (schlechter) versuch -- sim haut auch halbwegs hin
Bernhard Urban [Fri, 26 Mar 2010 20:33:52 +0000 (21:33 +0100)]
spass und so
Bernhard Urban [Fri, 26 Mar 2010 20:26:29 +0000 (21:26 +0100)]
testfaelle
Bernhard Urban [Fri, 26 Mar 2010 19:10:24 +0000 (20:10 +0100)]
HAHA speck!!!1111
:p
Bernhard Urban [Fri, 26 Mar 2010 19:00:33 +0000 (20:00 +0100)]
neue folien
Bernhard Urban [Fri, 26 Mar 2010 19:00:20 +0000 (20:00 +0100)]
debouncing example
Bernhard Urban [Fri, 26 Mar 2010 19:00:03 +0000 (20:00 +0100)]
spec: dies und das
Bernhard Urban [Fri, 26 Mar 2010 18:19:19 +0000 (19:19 +0100)]
sm: rs232
Bernhard Urban [Fri, 26 Mar 2010 16:42:02 +0000 (17:42 +0100)]
sm: rs232 gemovt
Bernhard Urban [Fri, 26 Mar 2010 16:40:03 +0000 (17:40 +0100)]
sm: rs232 receive
Bernhard Urban [Fri, 26 Mar 2010 16:17:57 +0000 (17:17 +0100)]
sm: display
Bernhard Urban [Fri, 26 Mar 2010 15:44:37 +0000 (16:44 +0100)]
ein paar kleinere fixes
Bernhard Urban [Fri, 26 Mar 2010 15:05:36 +0000 (16:05 +0100)]
modifizierter fabb patch
Bernhard Urban [Fri, 26 Mar 2010 14:44:43 +0000 (15:44 +0100)]
sm: display prep
Bernhard Urban [Fri, 26 Mar 2010 00:40:20 +0000 (01:40 +0100)]
statemachine: pc-komm
Bernhard Urban [Thu, 25 Mar 2010 23:12:26 +0000 (00:12 +0100)]
sections ein wenig herumgebastelt...
... ist angenehmer wenn man die interfaces auch im index hat!
Bernhard Urban [Thu, 25 Mar 2010 23:09:58 +0000 (00:09 +0100)]
statemachine: alu (nix aufregendes)
Bernhard Urban [Thu, 25 Mar 2010 19:55:48 +0000 (20:55 +0100)]
don't panic: nur in der reihenfolge herumgewurschtelt
Bernhard Urban [Thu, 25 Mar 2010 19:46:45 +0000 (20:46 +0100)]
detailed desc: history
Bernhard Urban [Thu, 25 Mar 2010 19:23:27 +0000 (20:23 +0100)]
tabellen: display und pc-komm
ausserdem TODO geupdatet
Bernhard Urban [Wed, 24 Mar 2010 23:40:58 +0000 (00:40 +0100)]
tabellen: history, parser und alu
Bernhard Urban [Wed, 24 Mar 2010 22:52:08 +0000 (23:52 +0100)]
tabellen: PS/2 und RS232
Bernhard Urban [Wed, 24 Mar 2010 22:21:35 +0000 (23:21 +0100)]
tabellen vorlage
\THEAD bekommt zwei parameter und macht header
\TEND schliesst Tabelle ab
\ZE macht zeilenumbruch + \hline
Bernhard Urban [Wed, 24 Mar 2010 21:41:03 +0000 (22:41 +0100)]
landscape
Bernhard Urban [Wed, 24 Mar 2010 21:31:16 +0000 (22:31 +0100)]
doc: cooles ebook
Bernhard Urban [Wed, 24 Mar 2010 21:13:06 +0000 (22:13 +0100)]
statemachine: parser, whitespace fix
Bernhard Urban [Wed, 24 Mar 2010 13:42:38 +0000 (14:42 +0100)]
statemachine: parser
ich habs mir in C nachprogrammiert, zumindest rechnerisch passt es.
visuell ist es irgendwie nicht so toll... :(
fabb [Wed, 24 Mar 2010 07:34:40 +0000 (08:34 +0100)]
sequenzdiagramme gehen so recht und schlecht in dia.
achja: wenn man die dia files nicht komprimiert, sind es versionierbare klartext xml files.
Bernhard Urban [Wed, 24 Mar 2010 00:33:19 +0000 (01:33 +0100)]
statemachine: parser und noch ein paar kleiner fixes
@ALU:
syntax: <opcode, operand1, operand2>
wobei operand2 gleichzeitig der output ist (AT&T style \o/)
ausserdem ist ein enum praktisch fuer opcodes (haben wir heute in
der VO gelernt)
Bernhard Urban [Tue, 23 Mar 2010 20:34:47 +0000 (21:34 +0100)]
statemachine: scanner
Bernhard Urban [Tue, 23 Mar 2010 16:50:32 +0000 (17:50 +0100)]
todo: ein paar reqs fehlen imho noch
fabb [Tue, 23 Mar 2010 11:03:53 +0000 (12:03 +0100)]
todo
fabb [Tue, 23 Mar 2010 10:41:08 +0000 (11:41 +0100)]
anonymize
fabb [Mon, 22 Mar 2010 19:43:55 +0000 (20:43 +0100)]
one goes in, one goes out
fabb [Mon, 22 Mar 2010 19:18:27 +0000 (20:18 +0100)]
Merge branch 'master' of wien.tomnetworks.com:hwmod
fabb [Mon, 22 Mar 2010 19:17:27 +0000 (20:17 +0100)]
ports, direction yet missing
Bernhard Urban [Mon, 22 Mar 2010 18:34:12 +0000 (19:34 +0100)]
don't ignore pdf's and push them
fabb [Mon, 22 Mar 2010 18:32:01 +0000 (19:32 +0100)]
Merge branch 'master' of wien.tomnetworks.com:hwmod
fabb [Mon, 22 Mar 2010 18:31:23 +0000 (19:31 +0100)]
behaviour in progress
Bernhard Urban [Mon, 22 Mar 2010 18:11:15 +0000 (19:11 +0100)]
more docs
"""
Hallo,
wir haben heute den VHDL-Source für die bereitgestellten IP-Cores auf die LVA-Webseite gestellt. Die Sourcen sind unter folgendem Link downloadbar:
http://ti.tuwien.ac.at/ecs/teaching/courses/hwmod/HwModeling/ipcores-source.zip
Da es ja jetzt bald mit der VHDL-Implementierung losgeht, haben wir auch noch zwei zusätzliche VHDL-Referenzen verlinkt:
Eine VHDL Syntax-Referenz sowie eine kurze Zusammenfassung der Funktionen und Typen der gängigen IEEE-Packages (std_logic_1164, numeric_std). Diese beiden Dokumente sind sehr kompakt und eignen sich daher sehr gut zum Nachschlagen. Hinweis: Das zweite Dokument beschreibt auch die proprietären Packages von Synopsys und Mentor. Diese Packages sind aber nicht standardisiert und sollten daher nicht verwendet werden! Hier die Links:
http://vega.unitbv.ro/~nicula/asd/resources/vhdl_ref.pdf
http://vega.unitbv.ro/~nicula/asd/resources/1164pkg.pdf
Nicht vergessen: Die Abgabe-Deadline für die erste Version des Spezifikations-Dokumentes ist am Freitag, dem 26.3. Bitte für den Review-Prozess die Namen der Autoren bzw. die Gruppennummer auf der Titelseite weglassen.
lg
Jakob
"""
fabb [Mon, 22 Mar 2010 16:51:22 +0000 (17:51 +0100)]
requirements enough?
Bernhard Urban [Mon, 22 Mar 2010 00:50:57 +0000 (01:50 +0100)]
pstricks: kleines beispiel vom herrn perner und makefile spass von mir
schaut ganz nett aus...
Bernhard Urban [Sun, 21 Mar 2010 23:36:47 +0000 (00:36 +0100)]
slides renaming
fabb [Fri, 19 Mar 2010 18:15:12 +0000 (19:15 +0100)]
arch simplify
Bernhard Urban [Fri, 19 Mar 2010 17:57:48 +0000 (18:57 +0100)]
compilefix und png geaddet
Bernhard Urban [Fri, 19 Mar 2010 17:55:50 +0000 (18:55 +0100)]
windows und so
fabb [Fri, 19 Mar 2010 17:53:09 +0000 (18:53 +0100)]
Merge branch 'master' of wien.tomnetworks.com:hwmod
fabb [Fri, 19 Mar 2010 17:48:29 +0000 (18:48 +0100)]
wok flow
Bernhard Urban [Fri, 19 Mar 2010 17:32:30 +0000 (18:32 +0100)]
makefile fun
Bernhard Urban [Fri, 19 Mar 2010 17:20:57 +0000 (18:20 +0100)]
latex math typo
fabb [Fri, 19 Mar 2010 17:18:07 +0000 (18:18 +0100)]
new arch
fabb [Fri, 19 Mar 2010 16:43:29 +0000 (17:43 +0100)]
architekturüberlegungen
fabb [Fri, 19 Mar 2010 15:39:28 +0000 (16:39 +0100)]
some not-yet-really-creative stuff
Bernhard Urban [Tue, 16 Mar 2010 18:21:34 +0000 (19:21 +0100)]
spec: brainspam
Bernhard Urban [Mon, 15 Mar 2010 17:04:45 +0000 (18:04 +0100)]
already in 'doc/folien'
fabb [Mon, 15 Mar 2010 11:58:03 +0000 (12:58 +0100)]
one place for all my love
fabb [Sun, 14 Mar 2010 18:46:59 +0000 (19:46 +0100)]
you know what i mean?
fabb [Sun, 14 Mar 2010 15:38:50 +0000 (16:38 +0100)]
some latex experiments.
if you don't like the titlepage having page number 0, ok...
fabb [Sun, 14 Mar 2010 14:28:57 +0000 (15:28 +0100)]
wonderfully
Bernhard Urban [Fri, 12 Mar 2010 00:25:18 +0000 (01:25 +0100)]
doc: die schon praesentierten folien hinzugefuegt
warum nicht gleich alle? auf der lva seite steht:
"Achtung: Die Folien können sich noch geringfügig im Laufe des Semsters ändern!"
Bernhard Urban [Fri, 12 Mar 2010 00:19:08 +0000 (01:19 +0100)]
spec: vorlage
Bernhard Urban [Thu, 11 Mar 2010 23:52:11 +0000 (00:52 +0100)]
doc: von lva seite