diff --git a/Rx.vhd b/Rx.vhd index 1e6c9a6ab98118f52f38b084ae0fa6ce03ff5334..32c668c926d2180aea13170ea725e1329492a581 100644 --- a/Rx.vhd +++ b/Rx.vhd @@ -1,8 +1,8 @@ library IEEE; use IEEE.STD_LOGIC_1164.ALL; -library Files; -use Files.fifo; +library work; +use work.fifo; entity Rx is generic( @@ -30,7 +30,7 @@ architecture Behavioral of Rx is type paritets_sjekk is (ingen, partall, oddetall); type baud_speed is (B115k,B576,B384,B192,B096); -------------------------------------------------------------------------------------------------------------------------------- - --Signaler + --Sigwork -------------------------------------------------------------------------------------------------------------------------------- signal datalest: std_logic_vector(10 downto 0):="11111111111"; signal datasamplet: std_logic_vector(7 downto 0):="00000000"; @@ -167,7 +167,7 @@ begin -------------------------------------------------------------------------------------------------------------------------------- --component fifo -------------------------------------------------------------------------------------------------------------------------------- - fifo: entity Files.fifo + fifo: entity work.fifo Port map( clock => clk, data => fifo_inn, @@ -210,35 +210,40 @@ begin --en startbit, før den bruker parity_checker funksjonen mtp hvilken paritetssjekk man har. Hvis parity-checker returnerer true --sendes dataen inn i fifoen, hvis ikke så forkastes den. ------------------------------------------------------------------------------------------------------------------------------- - databehandling: process(clk,rst_n) is - begin - if rst_n = '0' then - - elsif rising_edge(clk) and datalest(10) = '0' then - if parity_checker(parity_check,datalest) = true then - fifo_wr_req <= '1'; +databehandling: process(clk, rst_n) +begin + if rst_n = '0' then + datalest(10 downto 0) <= (others => '0'); + fifo_wr_req <= '0'; -- Nullstille fifo_wr_req under reset + paritetsfeil <= '0'; -- Nullstille paritetsfeil under reset + elsif rising_edge(clk) then + if datalest(10) = '0' then + if parity_checker(parity_check, datalest) = true then + fifo_wr_req <= '1'; -- Aktiver fifo_wr_req når paritetskontroll er gyldig case parity_check is when ingen => fifo_inn <= datalest(9 downto 2); datalest(10 downto 1) <= (others => '1'); - when others => + when others => fifo_inn <= datalest(9 downto 2); datalest(10 downto 0) <= (others => '1'); end case; + paritetsfeil <= '0'; -- Nullstill paritetsfeil else - datalest <= (others => '1'); -- Kontrollsjekk denne før innsending + datalest <= (others => '1'); -- Feilhåndtering paritetsfeil <= '1'; + fifo_wr_req <= '0'; -- Deaktiver fifo_wr_req ved feil end if; else - fifo_wr_req <= '0'; - --sette inn logikk + fifo_wr_req <= '0'; -- Deaktiver fifo_wr_req hvis datalest(10) ikke er '0' end if; + end if; +end process; - end process; kommunikasjon: process(clk, rst_n) is begin - fifo_rd_req <= '0'; if rst_n = '0' then + fifo_rd_req <= '0'; elsif rising_edge(clk) then case adresse is when "100" => diff --git a/Rx_tb.vhd b/Rx_tb.vhd index 737767ed5ef07ccc7e11559b8313027ff32fa1f9..b6046586774572f31d5052e01ff79986c0dd4af9 100644 --- a/Rx_tb.vhd +++ b/Rx_tb.vhd @@ -7,7 +7,7 @@ entity Rx_tb is end Rx_tb; architecture Behavioral of Rx_tb is - + constant clk_T : time := 20 ns; -- Testbenkens signaler signal clk : std_logic := '0'; signal rst_n : std_logic := '0'; @@ -40,7 +40,7 @@ architecture Behavioral of Rx_tb is begin -- Instansiering av Rx-enheten - uut: Rx + uut:component Rx port map ( clk => clk, rst_n => rst_n, @@ -54,12 +54,10 @@ begin -- Klokkeprosessen genererer et 50 MHz klokkesignal clk_process: process begin - while true loop - clk <= '0'; - wait for 10 ns; - clk <= '1'; - wait for 10 ns; - end loop; + clk <= '0'; + wait for clk_T/2; + clk <= '1'; + wait for clk_T/2; end process; -- Stimuli for reset og testoperasjoner @@ -92,9 +90,10 @@ begin wait for 20 ns; Wr_sig <= '0'; + -- Flere tester kan settes opp her -- Slutt på simuleringen - wait; + assert false report "TB ferdig" severity failure; end process; end Behavioral; diff --git a/controller.vhd b/controller.vhd index 144f46a13b03dc23e8e32eb2c3e6eef1e283cd31..bbbdd1ab62200bc1b004180fd421f64fea5a6afc 100644 --- a/controller.vhd +++ b/controller.vhd @@ -20,25 +20,16 @@ end Controller; architecture RTL of Controller is -type reader_status is (reading, idle); - signal status : reader_status := idle; signal internal_baud : std_logic_vector(2 downto 0); -- Internal signal for baud signal internal_parity : std_logic_vector(1 downto 0); -- Internt signal for parity + variable internal_data : std_logic_vector(7 downto 0); -- Intern databus data + variable count : integer; + signal turnTaker : std_logic; signal internal_z : std_logic_vector(2 downto 0); - - --Arkitekturen begynner -begin - - -- Rd_sig <= '1' when status = reading else '0'; --- prosessen begynner - - p_clk : process(clk, rst_n, msg_key, Baud_rate_sel, parity_sel, Data_bus) - begin - - -- Reset er starten av oppdraget. Her sendes config-informasjon. - if rst_n = '0' then - case Baud_rate_sel is + function resetLogic(count: integer) return integer is + begin + case Baud_rate_sel is when "000" => internal_baud(2 downto 0) <= "000"; when "001" => internal_baud(2 downto 0) <= "001"; when "010" => internal_baud(2 downto 0) <= "010"; @@ -54,43 +45,66 @@ begin when "11" => internal_parity(1 downto 0) <= "11"; when others => internal_parity(1 downto 0) <= "00"; -- Default end case; + + + end function resetLogic; + + function statusCheck(turnTaker: std_logic)return std_logic is + begin + if turnTaker = '0' then -- til TX + Rd_sig <= "1"; + adresse <= "010"; + turnTaker <= '1'; + return 1; + else + Rd_sig <= "1"; + adresse <= "110"; + turnTaker <= '0'; + return 0; + end if; + end function statusCheck; + + + --Arkitekturen begynner +begin + +-- prosessen begynner + + p_clk : process(all) + begin + + -- Reset er starten av oppdraget. Her sendes config-informasjon. + if rst_n = '0' then + resetLogic(count); internal_z(2 downto 0) <= "000"; - + count := 1; Data_bus(7 downto 0) <= internal_z & internal_parity & internal_baud; Wr_sig <= '1'; adresse <= "000"; elsif rising_edge(clk) then - --status <= idle; - --Wr_sig <= '0'; - - -- Hvis meldingsknappen trykkes, da sender vi en pre-definert bokstav til TX for videresending. - if msg_key = '1' then - Data_bus <= "01000101"; - Wr_sig <= '1'; - adresse <= "001"; - - else - - --Hvis RX har mottatt noe data, så skal vi sende videre. Vi skal også skru på led-paeren. - - if adresse = "101" then - status <= reading; - LED_msg <= '1'; - adresse <= "001"; - Wr_sig <= '1'; - --status <= idle; - - else - Data_bus <= "ZZZZZZZZ"; - adresse <= "ZZZ"; - Wr_sig <= '0'; - Rd_sig <= '0'; - --status <= idle; - end if; - end if; - end if; - --end if; + if count = "1" then + internal_z(2 downto 0) <= "000"; + Data_bus(7 downto 0) <= internal_z & internal_parity & internal_baud; + adresse <= "000"; + Wr_sig <= "1"; + count := count + 1; + elsif count = "2" then + internal_z(2 downto 0) <= "110"; + Data_bus(7 downto 0) <= internal_z & internal_parity & internal_baud; + adresse <= "110"; + Wr_sig <= "1"; + count := count + 1; + else + Wr_sig <= "0"; + Data_bus <= "ZZZZZZZZ"; + end if; + + statusChecker(turnTaker); + + end if; + + end process p_clk; end RTL; diff --git a/controller_tb.vhd b/controller_tb.vhd index b3261459d7fa64a8624469ac423c41339973388d..2a131966e28d551386e11832f0e34a42a98dd935 100644 --- a/controller_tb.vhd +++ b/controller_tb.vhd @@ -21,7 +21,7 @@ architecture SimulationModel of controller_tb is LED_msg: out std_logic; Data_bus : inout std_logic_vector(7 downto 0); parity_sel: in std_logic_vector(1 downto 0); - adresse: out std_logic_vector(2 downto 0); + adresse: inout std_logic_vector(2 downto 0); Rd_sig, Wr_sig: out std_logic ); end component; @@ -50,8 +50,9 @@ begin msg_key => msg_key, Baud_rate_sel => Baud_rate_sel, parity_sel => parity_sel, - Rd_sig => Rd_sig, - Wr_sig => Wr_sig + LED_msg => LED_msg, + Rd_sig => Rd_sig, + Wr_sig => Wr_sig ); -- Generation of clock @@ -84,6 +85,7 @@ begin Data_bus <= "ZZZZZZZZ"; Wr_sig <= 'Z'; Rd_sig <= 'Z'; + LED_msg <= '0'; wait until rst_n = '1'; wait for 100 ns; wait until rising_edge(clk); @@ -97,11 +99,6 @@ begin wait for CLK_PERIOD; msg_key <= '0'; wait for CLK_PERIOD; - - --if Data_bus(7 downto 0) = "01000001" then - --assert True; - --else assert false; - -- end if; end pressButton; @@ -109,7 +106,7 @@ begin begin wait for 100 ns; adresse(2 downto 0) <= "101"; - wait until rising_edge(clk); + --wait until rising_edge(clk); Data_bus <= "01000001"; --wait until rising_edge(clk); --assert Rd_sig = '1'; diff --git a/modelsim.ini b/modelsim.ini new file mode 100644 index 0000000000000000000000000000000000000000..ffc6cc4961fd3fa15e228d7b44dc16e161c73ff7 --- /dev/null +++ b/modelsim.ini @@ -0,0 +1,361 @@ +; Copyright 1991-2009 Mentor Graphics Corporation +; +; All Rights Reserved. +; +; THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS THE PROPERTY OF +; MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS SUBJECT TO LICENSE TERMS. +; + +[Library] +others = C:/intelFPGA/20.1/modelsim_ase/win32aloem/../modelsim.ini + +; Altera Primitive libraries +; +; VHDL Section +; +; +; Verilog Section +; + +[vcom] +; VHDL93 variable selects language version as the default. +; Default is VHDL-2002. +; Value of 0 or 1987 for VHDL-1987. +; Value of 1 or 1993 for VHDL-1993. +; Default or value of 2 or 2002 for VHDL-2002. +; Default or value of 3 or 2008 for VHDL-2008. +VHDL93 = 2008 + +; Show source line containing error. Default is off. +; Show_source = 1 + +; Turn off unbound-component warnings. Default is on. +; Show_Warning1 = 0 + +; Turn off process-without-a-wait-statement warnings. Default is on. +; Show_Warning2 = 0 + +; Turn off null-range warnings. Default is on. +; Show_Warning3 = 0 + +; Turn off no-space-in-time-literal warnings. Default is on. +; Show_Warning4 = 0 + +; Turn off multiple-drivers-on-unresolved-signal warnings. Default is on. +; Show_Warning5 = 0 + +; Turn off optimization for IEEE std_logic_1164 package. Default is on. +; Optimize_1164 = 0 + +; Turn on resolving of ambiguous function overloading in favor of the +; "explicit" function declaration (not the one automatically created by +; the compiler for each type declaration). Default is off. +; The .ini file has Explicit enabled so that std_logic_signed/unsigned +; will match the behavior of synthesis tools. +Explicit = 1 + +; Turn off acceleration of the VITAL packages. Default is to accelerate. +; NoVital = 1 + +; Turn off VITAL compliance checking. Default is checking on. +; NoVitalCheck = 1 + +; Ignore VITAL compliance checking errors. Default is to not ignore. +; IgnoreVitalErrors = 1 + +; Turn off VITAL compliance checking warnings. Default is to show warnings. +; Show_VitalChecksWarnings = 0 + +; Keep silent about case statement static warnings. +; Default is to give a warning. +; NoCaseStaticError = 1 + +; Keep silent about warnings caused by aggregates that are not locally static. +; Default is to give a warning. +; NoOthersStaticError = 1 + +; Turn off inclusion of debugging info within design units. +; Default is to include debugging info. +; NoDebug = 1 + +; Turn off "Loading..." messages. Default is messages on. +; Quiet = 1 + +; Turn on some limited synthesis rule compliance checking. Checks only: +; -- signals used (read) by a process must be in the sensitivity list +; CheckSynthesis = 1 + +; Activate optimizations on expressions that do not involve signals, +; waits, or function/procedure/task invocations. Default is off. +; ScalarOpts = 1 + +; Require the user to specify a configuration for all bindings, +; and do not generate a compile time default binding for the +; component. This will result in an elaboration error of +; 'component not bound' if the user fails to do so. Avoids the rare +; issue of a false dependency upon the unused default binding. +; RequireConfigForAllDefaultBinding = 1 + +; Inhibit range checking on subscripts of arrays. Range checking on +; scalars defined with subtypes is inhibited by default. +; NoIndexCheck = 1 + +; Inhibit range checks on all (implicit and explicit) assignments to +; scalar objects defined with subtypes. +; NoRangeCheck = 1 + +NoDebug = 0 +CheckSynthesis = 0 +NoVitalCheck = 0 +Optimize_1164 = 1 +NoVital = 0 +Quiet = 0 +Show_source = 0 +DisableOpt = 0 +ZeroIn = 0 +CoverageNoSub = 0 +NoCoverage = 1 +CoverCells = 0 +CoverExcludeDefault = 0 +CoverFEC = 1 +CoverShortCircuit = 1 +CoverOpt = 3 +Show_Warning1 = 1 +Show_Warning2 = 1 +Show_Warning3 = 1 +Show_Warning4 = 1 +Show_Warning5 = 1 +[vlog] + +; Turn off inclusion of debugging info within design units. +; Default is to include debugging info. +; NoDebug = 1 + +; Turn off "loading..." messages. Default is messages on. +; Quiet = 1 + +; Turn on Verilog hazard checking (order-dependent accessing of global vars). +; Default is off. +; Hazard = 1 + +; Turn on converting regular Verilog identifiers to uppercase. Allows case +; insensitivity for module names. Default is no conversion. +; UpCase = 1 + +; Turn on incremental compilation of modules. Default is off. +; Incremental = 1 + +; Turns on lint-style checking. +; Show_Lint = 1 + +vlog95compat = 0 +Vlog01Compat = 0 +Svlog = 0 +CoverCells = 0 +CoverExcludeDefault = 0 +CoverFEC = 1 +CoverShortCircuit = 1 +CoverOpt = 3 +OptionFile = C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/vlog.opt +Quiet = 0 +Show_source = 0 +NoDebug = 0 +Hazard = 0 +UpCase = 0 +DisableOpt = 0 +ZeroIn = 0 +[vsim] +; Simulator resolution +; Set to fs, ps, ns, us, ms, or sec with optional prefix of 1, 10, or 100. +Resolution = ps + +; User time unit for run commands +; Set to default, fs, ps, ns, us, ms, or sec. The default is to use the +; unit specified for Resolution. For example, if Resolution is 100ps, +; then UserTimeUnit defaults to ps. +; Should generally be set to default. +UserTimeUnit = default + +; Default run length +RunLength = 100 + +; Maximum iterations that can be run without advancing simulation time +IterationLimit = 5000 + +; Directive to license manager: +; vhdl Immediately reserve a VHDL license +; vlog Immediately reserve a Verilog license +; plus Immediately reserve a VHDL and Verilog license +; nomgc Do not look for Mentor Graphics Licenses +; nomti Do not look for Model Technology Licenses +; noqueue Do not wait in the license queue when a license isn't available +; viewsim Try for viewer license but accept simulator license(s) instead +; of queuing for viewer license +; License = plus + +; Stop the simulator after a VHDL/Verilog assertion message +; 0 = Note 1 = Warning 2 = Error 3 = Failure 4 = Fatal +BreakOnAssertion = 3 + +; Assertion Message Format +; %S - Severity Level +; %R - Report Message +; %T - Time of assertion +; %D - Delta +; %I - Instance or Region pathname (if available) +; %% - print '%' character +; AssertionFormat = "** %S: %R\n Time: %T Iteration: %D%I\n" + +; Assertion File - alternate file for storing VHDL/Verilog assertion messages +; AssertFile = assert.log + +; Default radix for all windows and commands... +; Set to symbolic, ascii, binary, octal, decimal, hex, unsigned +DefaultRadix = symbolic + +; VSIM Startup command +; Startup = do startup.do + +; File for saving command transcript +TranscriptFile = transcript + +; File for saving command history +; CommandHistory = cmdhist.log + +; Specify whether paths in simulator commands should be described +; in VHDL or Verilog format. +; For VHDL, PathSeparator = / +; For Verilog, PathSeparator = . +; Must not be the same character as DatasetSeparator. +PathSeparator = / + +; Specify the dataset separator for fully rooted contexts. +; The default is ':'. For example, sim:/top +; Must not be the same character as PathSeparator. +DatasetSeparator = : + +; Disable VHDL assertion messages +; IgnoreNote = 1 +; IgnoreWarning = 1 +; IgnoreError = 1 +; IgnoreFailure = 1 + +; Default force kind. May be freeze, drive, deposit, or default +; or in other terms, fixed, wired, or charged. +; A value of "default" will use the signal kind to determine the +; force kind, drive for resolved signals, freeze for unresolved signals +; DefaultForceKind = freeze + +; If zero, open files when elaborated; otherwise, open files on +; first read or write. Default is 0. +; DelayFileOpen = 1 + +; Control VHDL files opened for write. +; 0 = Buffered, 1 = Unbuffered +UnbufferedOutput = 0 + +; Control the number of VHDL files open concurrently. +; This number should always be less than the current ulimit +; setting for max file descriptors. +; 0 = unlimited +ConcurrentFileLimit = 40 + +; Control the number of hierarchical regions displayed as +; part of a signal name shown in the Wave window. +; A value of zero tells VSIM to display the full name. +; The default is 0. +; WaveSignalNameWidth = 0 + +; Turn off warnings from the std_logic_arith, std_logic_unsigned +; and std_logic_signed packages. +; StdArithNoWarnings = 1 + +; Turn off warnings from the IEEE numeric_std and numeric_bit packages. +; NumericStdNoWarnings = 1 + +; Control the format of the (VHDL) FOR generate statement label +; for each iteration. Do not quote it. +; The format string here must contain the conversion codes %s and %d, +; in that order, and no other conversion codes. The %s represents +; the generate_label; the %d represents the generate parameter value +; at a particular generate iteration (this is the position number if +; the generate parameter is of an enumeration type). Embedded whitespace +; is allowed (but discouraged); leading and trailing whitespace is ignored. +; Application of the format must result in a unique scope name over all +; such names in the design so that name lookup can function properly. +; GenerateFormat = %s__%d + +; Specify whether checkpoint files should be compressed. +; The default is 1 (compressed). +; CheckpointCompressMode = 0 + +; List of dynamically loaded objects for Verilog PLI applications +; Veriuser = veriuser.sl + +; Specify default options for the restart command. Options can be one +; or more of: -force -nobreakpoint -nolist -nolog -nowave +; DefaultRestartOptions = -force + +; HP-UX 10.20 ONLY - Enable memory locking to speed up large designs +; (> 500 megabyte memory footprint). Default is disabled. +; Specify number of megabytes to lock. +; LockedMemory = 1000 + +; Turn on (1) or off (0) WLF file compression. +; The default is 1 (compress WLF file). +; WLFCompress = 0 + +; Specify whether to save all design hierarchy (1) in the WLF file +; or only regions containing logged signals (0). +; The default is 0 (save only regions with logged signals). +; WLFSaveAllRegions = 1 + +; WLF file time limit. Limit WLF file by time, as closely as possible, +; to the specified amount of simulation time. When the limit is exceeded +; the earliest times get truncated from the file. +; If both time and size limits are specified the most restrictive is used. +; UserTimeUnits are used if time units are not specified. +; The default is 0 (no limit). Example: WLFTimeLimit = {100 ms} +; WLFTimeLimit = 0 + +; WLF file size limit. Limit WLF file size, as closely as possible, +; to the specified number of megabytes. If both time and size limits +; are specified then the most restrictive is used. +; The default is 0 (no limit). +; WLFSizeLimit = 1000 + +; Specify whether or not a WLF file should be deleted when the +; simulation ends. A value of 1 will cause the WLF file to be deleted. +; The default is 0 (do not delete WLF file when simulation ends). +; WLFDeleteOnQuit = 1 + +; Automatic SDF compilation +; Disables automatic compilation of SDF files in flows that support it. +; Default is on, uncomment to turn off. +; NoAutoSDFCompile = 1 + +VoptFlow = 1 +[lmc] + +[msg_system] +; Change a message severity or suppress a message. +; The format is: <msg directive> = <msg number>[,<msg number>...] +; Examples: +; note = 3009 +; warning = 3033 +; error = 3010,3016 +; fatal = 3016,3033 +; suppress = 3009,3016,3043 +; The command verror <msg number> can be used to get the complete +; description of a message. + +; Control transcripting of elaboration/runtime messages. +; The default is to have messages appear in the transcript and +; recorded in the wlf file (messages that are recorded in the +; wlf file can be viewed in the MsgViewer). The other settings +; are to send messages only to the transcript or only to the +; wlf file. The valid values are +; both {default} +; tran {transcript only} +; wlf {wlf file only} +; msgmode = both diff --git a/vlog.opt b/vlog.opt new file mode 100644 index 0000000000000000000000000000000000000000..139597f9cb07c5d48bed18984ec4747f4b4f3438 --- /dev/null +++ b/vlog.opt @@ -0,0 +1,2 @@ + + diff --git a/vsim.wlf b/vsim.wlf new file mode 100644 index 0000000000000000000000000000000000000000..f8135986d2cf686551360b6adbad6c6e0573d1d2 Binary files /dev/null and b/vsim.wlf differ diff --git a/work/_info b/work/_info new file mode 100644 index 0000000000000000000000000000000000000000..73702cca3075fdf4adfd6e6b96ba0f37a4c589f3 --- /dev/null +++ b/work/_info @@ -0,0 +1,140 @@ +m255 +K4 +z2 +!s11e vcom 2020.1 2020.02, Feb 28 2020 +13 +!s112 1.1 +!i10d 8192 +!i10e 25 +!i10f 100 +cModel Technology +Z0 dC:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets +Efifo +Z1 w1730990335 +Z2 DPx3 std 6 textio 0 22 zE1`LPoLg^DX3Oz^4Fj1K3 +Z3 DPx4 ieee 14 std_logic_1164 0 22 cVAk:aDinOX8^VGI1ekP<3 +!i122 6 +R0 +Z4 8C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/work/fifo.vhd +Z5 FC:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/work/fifo.vhd +l0 +L43 1 +V;E7lX:2NM9@3@1[lColfE3 +!s100 S:gEU>;VajU]SGE3XIll11 +Z6 OV;C;2020.1;71 +33 +Z7 !s110 1731574234 +!i10b 1 +Z8 !s108 1731574234.000000 +Z9 !s90 -reportprogress|300|-work|work|C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/work/fifo.vhd| +!s107 C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/work/fifo.vhd| +!i113 1 +Z10 o-work work +Z11 tExplicit 1 NoCoverage 1 CvgOpt 0 +Asyn +R2 +R3 +DEx4 work 4 fifo 0 22 ;E7lX:2NM9@3@1[lColfE3 +!i122 6 +l91 +Z12 L58 65 +VoXdJ@E=[B[=0TR74QBeQC2 +Z13 !s100 lEaaYhf1UD=blEjK7:L`W3 +R6 +33 +R7 +!i10b 1 +R8 +R9 +Z14 !s107 C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/work/fifo.vhd| +!i113 1 +R10 +R11 +Erx +Z15 w1731573081 +Z16 DEx4 work 4 fifo 0 22 zhK<3oGOh^H<HbIhP4j@73 +R2 +R3 +!i122 5 +R0 +Z17 8C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/Rx.vhd +Z18 FC:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/Rx.vhd +l0 +L7 1 +V]OL_2:_X8HRc4e9E^ZOJV2 +!s100 2UAUgjA;Sf]iZ=1E2BE<72 +R6 +33 +Z19 !s110 1731574227 +!i10b 1 +Z20 !s108 1731574227.000000 +Z21 !s90 -reportprogress|300|-work|work|C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/Rx.vhd|C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/Rx_tb.vhd| +Z22 !s107 C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/Rx_tb.vhd|C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/Rx.vhd| +!i113 1 +R10 +R11 +Abehavioral +R16 +R2 +R3 +DEx4 work 2 rx 0 22 ]OL_2:_X8HRc4e9E^ZOJV2 +!i122 5 +l165 +L26 245 +VohYRe8c=S<UR>Abg3B@nK0 +!s100 ]>CB<`fN1IMJa5oLB=1Gl2 +R6 +33 +R19 +!i10b 1 +R20 +R21 +R22 +!i113 1 +R10 +R11 +Erx_tb +Z23 w1731574058 +Z24 DPx4 ieee 18 std_logic_unsigned 0 22 ;eZjO2D4ZDz<]0>8AL<ne1 +Z25 DPx4 ieee 15 std_logic_arith 0 22 [G314=:2zXJ`VORJe1J@Z1 +R2 +R3 +!i122 5 +R0 +Z26 8C:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/Rx_tb.vhd +Z27 FC:/Users/debno/OneDrive/Dokumenter/skole/NTNU/IELEG2213 Programerbare kretser/bigSysytem/progkrets/Rx_tb.vhd +l0 +L6 1 +V2T]k5<c`EMj5@0NJVDV<U3 +!s100 TZ`32BT<6Ukf6P]6>n[[>3 +R6 +33 +R19 +!i10b 1 +R20 +R21 +R22 +!i113 1 +R10 +R11 +Abehavioral +R24 +R25 +R2 +R3 +DEx4 work 5 rx_tb 0 22 2T]k5<c`EMj5@0NJVDV<U3 +!i122 5 +l40 +L9 91 +VB`zgZW]PFa6:0<7<n5@bS3 +!s100 @]<R@0XJ3]indMmza@R>42 +R6 +33 +R19 +!i10b 1 +R20 +R21 +R22 +!i113 1 +R10 +R11 diff --git a/work/_lib.qdb b/work/_lib.qdb new file mode 100644 index 0000000000000000000000000000000000000000..e6680761b3238cc65b1042c3406476d799de12f3 Binary files /dev/null and b/work/_lib.qdb differ diff --git a/work/_lib1_0.qdb b/work/_lib1_0.qdb new file mode 100644 index 0000000000000000000000000000000000000000..2a398f2c78672c824d583de64cc1c38a67fcab3d Binary files /dev/null and b/work/_lib1_0.qdb differ diff --git a/work/_lib1_0.qpg b/work/_lib1_0.qpg new file mode 100644 index 0000000000000000000000000000000000000000..95c8ea413bc82e289de33f0457767f6fb5b05f15 Binary files /dev/null and b/work/_lib1_0.qpg differ diff --git a/work/_lib1_0.qtl b/work/_lib1_0.qtl new file mode 100644 index 0000000000000000000000000000000000000000..b94fbb7f59ad15c8e562bdc12b8e9df24b7eb900 Binary files /dev/null and b/work/_lib1_0.qtl differ diff --git a/work/_vmake b/work/_vmake new file mode 100644 index 0000000000000000000000000000000000000000..37aa36a8517ca31d354b0f3f5639f3bc2044a60f --- /dev/null +++ b/work/_vmake @@ -0,0 +1,4 @@ +m255 +K4 +z0 +cModel Technology diff --git a/fifo.vhd b/work/fifo.vhd similarity index 100% rename from fifo.vhd rename to work/fifo.vhd